0

我有一个程序需要更新 dbf 文件中的数据。但它不断出现错误“运算符/操作数类型不匹配”。这是示例代码:

    Dim con As OleDbConnection = New OleDbConnection("Provider=vfpoledb;Data Source=C:\folder\paytran.dbf;Collating Sequence=machine;")
    Try


        Dim strSQL As String = "UPDATE paytran.dbf SET workhr = 20  WHERE empno = 102"
        Dim cmd As OleDbCommand = New OleDbCommand(strSQL, con)
        con.Open()
        Dim myDA As OleDbDataAdapter = New OleDbDataAdapter(cmd)
        Dim myDataSet As DataSet = New DataSet()
        ' Using DataAdapter object fill data from database into DataSet object
        myDA.Fill(myDataSet, "MyTable")
        ' Binding DataSet to DataGridView
        DGV.DataSource = myDataSet.Tables("MyTable").DefaultView
        con.Close()
        con = Nothing
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Error Select Data")

    Finally
        If con IsNot Nothing Then
            con.Close()
        End If
    End Try

请帮我..

4

2 回答 2

0

它是您的连接字符串。连接字符串应该只需要指向数据文件所在的 PATH,然后所有基于 SQL 的命令将默认能够看到该路径中的任何 .DBF 表(如果存在子路径,则转发)。

Data Source=C:\folder

代替

Data Source=C:\folder\paytran.dbf

因此,现在如果您在“C:\folder”中有 30 个表,您现在可以根据需要从所有表中查询。

于 2013-03-26T10:04:52.733 回答
-1

您需要显式打开和关闭 DBF。尝试:

Dim strSQL As String = "Use paytran in 0 shared;UPDATE paytran SET workhr = 20  WHERE empno = 102;use in select('paytran')"
于 2013-03-25T08:27:09.963 回答