我有这个非常简单的麻烦,我似乎无法克服。Sql压缩版 - 简单的选择语句不起作用
我试图执行该代码行与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。
任何想法,为什么这不工作?
如果你把你的参数为单引号(''@ barcode''),那么这真是一个**字符串字面** - 不是了参数。因此,您的SELECT正在搜索“条形码”列中包含值“@ barcode”的项目 - 这显然不是您想要的。 – 2011-12-24 12:22:20