1

我在 C# 中制作 SQLite 命令时遇到问题。我试图使用这样的代码:

SQLiteCommand komenda = new SQLiteCommand("SELECT cena FROM dniowka WHERE (model = '@Name' AND element = '@Name2')", cnn);

但它不起作用...... :( 在我使用 LIKE 语句之前:

SQLiteCommand komenda = new SQLiteCommand("SELECT cena FROM dniowka WHERE model LIKE @Name AND element LIKE @Name2", cnn);

有用。但我有一个小问题。当我有一些包含“AL”的记录时,例如“1AL、2AL、AL ...”。我不知道怎么做才能得到唯一的一条记录“AL”(@Name2 = AL)。

有人有什么主意吗?

[PS对不起我的英语..]

4

2 回答 2

2

而不是 LIKE 你可以使用 =

例如

"SELECT cena FROM dniowka WHERE model = @Name AND element = @Name2"

请注意,我没有包含单引号:

'@Name' <-- 不好

@Name <-- 好

于 2013-06-16T12:01:15.960 回答
1

因为在使用参数化查询时不需要使用撇号。

在查询中使用参数,例如model = @Namenotmodel = '@Name'

这个的正确用法;

SQLiteCommand komenda = new SQLiteCommand("SELECT cena FROM dniowka 
                            WHERE model = @Name 
                            AND element = @Name2", cnn);

komenda.Parameters.AddWithValue("@Name", Name);
komenda.Parameters.AddWithValue("@Name2", Name2);
于 2013-06-16T12:02:08.787 回答