1

我正在通过查询向导配置数据集。我想生成参数化查询。我的查询如下所示:

SELECT 
    Field1, Field2, Field3 
FROM
    SomeTable
WHERE
    Field1 = @field1

正在从 Access 2007 数据库中获取数据,该查询在该数据库中成功执行。但是,从代码中,我收到了错误:

'@' 附近的 WHERE 子句出错。无法解析查询文本。

我该如何解决这个问题?

4

1 回答 1

3

Access 不支持命名参数并使用?而不是@(如 SQL-Server)。

所以这应该工作:

...
WHERE
    Field1 = ?

另请参阅如何:创建参数化 TableAdapter 查询

构造参数化查询时,请使用特定于您正在编码的数据库的参数表示法。

例如,Access 和 OleDb 数据源使用问号'?'来表示参数,因此WHERE子句看起来像这样:WHERE City = ?.

于 2013-03-07T12:21:26.830 回答