我正在尝试使用ADO数据集向Visual FoxPro数据表添加新记录,但没有运气。代码运行正常,没有例外,但是当我检查dbf之后没有新记录。代码段中显示的mDataPath变量是整个数据库的.dbc文件的路径。关于底部For循环的注释;我将传入的电子邮件正文添加到此MEMO字段中,因此我认为我需要将此字符串添加到256个字符的块中。任何指导都将不胜感激。
cnn1.Open("Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBC;" & _
"SourceDB=" & mDataPath & ";Exclusive=No")
Dim RS As ADODB.RecordsetS = New ADODB.Recordset
RS.Open("select * from gennote", cnn1, 1, 3, 1)
RS.AddNew()
'Assign values to the first three fields
RS.Fields("ignnoteid").Value = NextIDI
RS.Fields("cnotetitle").Value = "'" & mail.Subject & "'"
RS.Fields("cfilename").Value = "''"
'Looping through 254 characters at a time and add the data
'to Ado Field buffer
For i As Integer = 1 To Len(memo) Step liChunkSize
liStartAt = i
liWorkString = Mid(mail.Body, liStartAt, liChunkSize)
RS.Fields("mnote").AppendChunk(liWorkString)
Next
'Update the recordset
RS.Update()
RS.Requery()
RS.Close()
答案 0 :(得分:0)
Microsoft的Knowledge Base article与您的问题完全匹配。您的代码与提供的示例之间唯一的主要区别是连接字符串中的 BackgroundFetch 设置。默认情况下,此设置已启用,并且reported已导致游标出现许多问题。
此外,您可能希望切换到Visual Foxpro Ole Db driver。 Visual Foxpro ODBC driver在2000年左右退休了。