我在数据集中的查询中的参数有问题

时间:2019-07-01 05:28:13

标签: c# sql .net ms-access dataset

我有一个.NET程序,带有一个访问/ sql DB的数据集。 我写了一个查询并使用了2个参数,但出现错误:

  

“ @”附近的WHERE子句中的错误。   无法解析查询文本。

我的查询是:

SELECT DocID, DocCustomerNumber, 
    DocSessionID, DocTitle, DocKlaser, DocBarcodes
FROM VTblASMCustomersDocsAndGroupCodes
WHERE DocCustomerNumber = @cusNum AND 
    DocSessionID = @asmNum

1 个答案:

答案 0 :(得分:1)

Microsoft Access不使用命名参数。它使用位置参数。因此,在设置参数值时,参数的顺序很重要。

将查询更改为此:

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