SQL查询的问题

时间:2014-02-18 09:22:59

标签: sql vb.net where clause

因为可能很安静,我对SQL查询的经验很少。

我在我的Vb.net应用程序中生成以下查询时出现问题

UPDATE Payments SET B1Code = '12345', ARInvoice = '54321', INV2Go = '00000' WHERE PatientID = '400' AND Product = 'Consultation' AND Catagory = 'Orthotics'

(我在数据库中创建了与上述信息匹配的测试记录)

使用vb.net中的以下代码构建它:

Dim query As String = "UPDATE Payments SET B1Code = '" & txtB1Code.Text & "', ARInvoice = '" & txtARInvoice.Text & "', INV2Go = '" & txtInv2GoCode.Text & "' WHERE PatientID = '" & Integer.Parse(txtID.Text) & "' AND Product = '" & txtProduct.Text & "' AND Catagory = '" & txtPatientType.Text & "'"

然后传递我的执行查询函数,如下所示:

DatabaseFunctions.ExecuteQuery(query)

和功能:

Public Shared Sub ExecuteQuery(ByVal SQL As String)

    CheckConnection()
    Dim cmd As New OdbcCommand(SQL, con)
    cmd.ExecuteNonQuery()

End Sub

该功能完美运行,我已经一次又一次地使用它来创建/编辑记录,使用以上述类似方式构建的简单SQL查询。问题是这个特定查询返回错误:

  

错误[07002ض] [Microsoft] [ODBC Microsoft Access Driver]参数太少。预计1。

也许比我有更多sql经验的人可以看到我缺少的东西?

谢谢

1 个答案:

答案 0 :(得分:1)

此错误表示您在查询中使用的其中一列不存在。

再次检查您的查询:您的意思是CatagoryCategory