读取文本文件到数据库???出错???

78815 2003-02-20 09:37:15
Private Sub Command1_Click()
Dim fso As New FileSystemObject
Dim fil As File
Dim i, j As Integer
Dim ts As TextStream
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
Dim filename As String

cn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=sale"
' sql = "select * from wb"


CommonDialog1.filename = ""
CommonDialog1.Filter = "文本文件(*.txt)|*.txt"
CommonDialog1.ShowOpen
filename = CommonDialog1.filename

If filename <> "" Then
'On Error GoTo err1
Set fil = fso.GetFile(filename)
Set ts = fil.OpenAsTextStream(ForReading)
Text1.Text = ts.ReadAll
Dim a() As String
Dim b() As String

a = Split(Text1.Text, Chr(10)) '将每条记录分开存入数组中


For i = 0 To 10000 '文件结尾
If a(i) = "" Then Exit For
Next
j = i - 1

For i = 0 To j - 1

b = Split(a(i), ",") '将一条记录的每个字段的值分开存入数组中

b(9) = Left(b(9), 10) & " " & Right(b(9), 8)
b(13) = Left(b(13), 10) & " " & Right(b(13), 8) '去掉文本中的@

sql = "insert into wb(serial,carno,custum,unit,operator,goods,goodsj,bweight,bno,btime,sweight,soperator,sno,stime,weight,price,money1,fg,dp,sm) values ('" & CInt(b(0)) & "','" & b(1) & "','" & b(2) & "','" & b(3) & "','" & b(4) & "','" & b(5) & "','" & b(6) & "','" & CDbl(b(7)) & "','" & CInt(b(8)) & "','" & b(9) & "','" & CDbl(b(10)) & "','" & b(11) & "','" & CInt(b(12)) & "','" & b(13) & "','" & b(14) & "','" & b(15) & "','" & b(16) & "','" & b(17) & "','" & b(18) & "','" & b(19) & "')"

Set rs = cn.Execute(sql)
Next

ts.Close

MsgBox "添加完成"

End If
Set rs = Nothing

End Sub

错误提示:
run-time error '9'
subscript out of range

光标指向 b(9) = Left(b(9), 10) & " " & Right(b(9), 8)

怎么回事?怎么办?
...全文
20 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙华 2003-02-20
  • 打赏
  • 举报
回复
b(9)长度太短,使用left时出错了。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧