Sql Compact版 - 简单的select语句不起作用

时间:2011-12-24 02:17:22

标签: c# sql-server-ce

我有这个非常简单的麻烦,我似乎无法克服。

我正在尝试使用sql ce执行此代码行:

SqlCeCommand comSelect = new SqlCeCommand("SELECT * FROM Items WHERE barcode = '@barcode'", conn);
comSelect.Parameters.Add(new SqlCeParameter("barcode", System.Data.SqlDbType.NVarChar, 100)).Value = barC;

出于一些奇怪的原因 - 它总是以空的形式返回 - 即没有找到结果。如果我将参数值单独放在查询字符串中,如下所示:

SELECT * FROM Items WHERE barcode = '123ABC'

然后它完美无缺。我将添加列为NVarChar。

知道为什么这不起作用?

2 个答案:

答案 0 :(得分:6)

尝试:

new SqlCeCommand("SELECT * FROM Items WHERE barcode = @barcode", conn);
comSelect.Parameters.Add(new SqlCeParameter("@barcode", System.Data.SqlDbType.NVarChar, 100)).Value = barC;

答案 1 :(得分:2)

尝试使用:

"SELECT * FROM Items WHERE barcode = @barcode"

而不是你拥有的。请注意@barcode中缺少引号。