用split分解文本文件中的行数据,然后插入数据库时出现错误,麻烦指导,谢

chcpu 2004-04-12 09:11:15
烦请你看看,错在哪里
下面的代码,是将形如以下文本文件的数据灌入access数据库
0307 我
0760 的
0125 便
0723 很
0224 後
……
如果我不将strline 分解作为整体插入不会出错,但是一旦用上
arrline = Split(strline, vbCrLf)进行数据分割(字和编码),马上就有错误提示:
compile error:
can't assign to array

代码如下:
Private Sub Command1_Click()
Dim astr As String
Dim resultMDB As Database
Dim strline As String
Dim arrline(2) As String
Open App.Path & "\jiandan.txt" For Input As #1
Do Until EOF(1)
Line Input #1, strline
arrline = Split(strline, vbCrLf)
Set resultMDB = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\test.dat")
astr = "INSERT INTO jiandan(bianma,wenzhi) values ('" & arrline(0)&" ','" & strline(1) & "')"

resultMDB.Execute astr
Loop
resultMDB.Close
Set resultMDB = Nothing
Close #1
End Sub
...全文
47 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Iamarmy 2004-04-13
程序写得不够强悍。
偶头晕~~~
:(
回复
qxg1123 2004-04-13
Subscribe out of range是下标越界
就是你没有正确转化数组
回复
chcpu 2004-04-12
我将Dim arrline(2) As String改为Dim arrline() As String
出现run-time error '9'
Subscribe out of range
但是我打开数据库后发现事情做了
于是我加上On Error Resume Next和On Error GoTo 0屏蔽错误
这样问题获得折中解决
请问高手,到底是什么回事
这样是否可行??
回复
chcpu 2004-04-12
我尝试了,还是不行。
也试过arrline = Split(strline, " ")也不行
所以应该不是这个问题
strline是获得一行的值
arrline(0)应该是一行的数字部分
arrline(1)是一行的文字部分
回复
qxg1123 2004-04-12
如果换行不是vbcrlf
那将全部赋到一个数组变量里是不是也太长了
arrline = Split(strline, chr(13))试试
回复
qxg1123 2004-04-12
你的好象是汉字编码,是不是太长了点呢?
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告