我正在通过查询向导配置数据集。我想生成参数化查询。我的查询如下:
SELECT
Field1, Field2, Field3
FROM
SomeTable
WHERE
Field1 = @field1
正在从Access 2007数据库获取数据,此数据库成功执行。但是从代码来看,我收到错误:
'@'附近的WHERE子句出错。无法解析查询文本。
我该如何解决这个问题?
答案 0 :(得分:2)
Access不支持命名参数,并使用?
代替@
(如SQL-Server)。
所以这应该有效:
...
WHERE
Field1 = ?
另见How to: Create Parameterized TableAdapter Queries:
构造参数化查询时,请使用特定于您要编码的数据库的参数表示法。
例如,Access和OleDb数据源使用问号
'?'
来表示参数,因此WHERE
子句如下所示:WHERE City = ?
。