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);

できます。しかし、私には少し問題があります。「1AL、2AL、AL ...」など、「AL」を含むレコードがいくつかある場合。唯一のレコード「AL」(@Name2=AL)を取得する方法がわかりません。

誰にもアイデアはありますか?

[PS 私の英語で申し訳ありません..]

4

2 に答える 2

1

パラメータ化されたクエリを使用する場合、アポストロフを使用する必要がないためです。

クエリでパラメーターを使用しmodel = @Nameないようにするmodel = '@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 に答える