【发布时间】:2012-01-27 12:07:47
【问题描述】:
这是我的代码
Dim Cn1 As ADODB.Connection
Dim iSQLStr As String
Dim field_num As Integer
Set Cn1 = New ADODB.Connection
Cn1.ConnectionString = _
"Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"DefaultDir=" & "C:\path\"
Cn1.Open
iSQLStr = "Select * FROM " & "file.txt" ' & " ORDER BY " & txtField.Text
field_num = CInt(1) - 1
Set Rs1 = Cn1.Execute(iSQLStr)
lstResults.Clear
While Not Rs1.EOF
DoEvents
Rs1.Fields(field_num).Value = "qaz"
If IsNull(Rs1.Fields(field_num).Value) Then
lstResults.AddItem "<null>"
Else
lstResults.AddItem Rs1.Fields(field_num).Value
End If
Rs1.MoveNext
Wend
我得到的错误在这一行
Rs1.Fields(field_num).Value = "qaz"
它说“当前记录集不支持更新”,代码有什么问题?
【问题讨论】:
-
恐怕您无法使用文本 ODBC 驱动程序更新/删除,您需要自己解析文件。
-
那么,我应该如何操作大文件(200 万行文本文件),就像我想在文本文件中添加行号一样。
-
将其完全打开到内存中并拆分为行数组,或者逐行编辑,然后根据需要进行编辑
-
我想一次编辑所有数据并且数据不断变化(更新)。无论如何使用 sql 在 vb6 中更新/编辑 csv 文件?
-
您始终可以将文件拉入数据库并以这种方式进行操作。它可能会比其他任何东西都快。甚至 Microsoft SQL Server Express 也允许导入文件。