i有一个.NET程序,该程序包含一个数据集/访问/一个SQL DB。我写了一个查询并使用了2个参数,但是我有一个错误:
在"@"附近的Where子句中发生错误。 无法解析查询文本。
我的查询是:
SELECT DocID, DocCustomerNumber,
DocSessionID, DocTitle, DocKlaser, DocBarcodes
FROM VTblASMCustomersDocsAndGroupCodes
WHERE DocCustomerNumber = @cusNum AND
DocSessionID = @asmNum
Microsoft访问不使用名为参数。它使用位置参数。因此,当您设置参数的值时,参数的顺序很重要。
更改您的查询:
SELECT DocID, DocCustomerNumber,
DocSessionID, DocTitle, DocKlaser, DocBarcodes
FROM VTblASMCustomersDocsAndGroupCodes
WHERE DocCustomerNumber = ? AND
DocSessionID = ?
然后使用此代码传递参数:
cmd.Parameters.AddWithValue("param1", param1); // param1 = value of DocCustomerNumber
cmd.Parameters.AddWithValue("param2", param2); // param2 = value of DocSessionID