使用ADO记录集在VB.NET中将新记录添加到VFP数据表

时间:2010-06-16 06:17:53

标签: vb.net ado.net visual-foxpro

我正在尝试使用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()

1 个答案:

答案 0 :(得分:0)

Microsoft的Knowledge Base article与您的问题完全匹配。您的代码与提供的示例之间唯一的主要区别是连接字符串中的 BackgroundFetch 设置。默认情况下,此设置已启用,并且reported已导致游标出现许多问题。

此外,您可能希望切换到Visual Foxpro Ole Db driverVisual Foxpro ODBC driver在2000年左右退休了。