C#
1int id = 3; 2int minAge = 20; 3int maxAge = 50;
C#
1cmd.CommandText = "INSERT INTO [dbo].[Table2] ([ID], [年齢])" + 2"SELECT [ID], [年齢] FROM [dbo].[Table]" + 3"WHERE ID = N'" + id + "'"; 4if(minAge != null && maxAge != null) 5{ 6 cmd.CommandText += "AND 年齢 = N'BETWEEN" + minAge + "AND" + maxAge + "'"; 7}
上記のような条件でBETWEENの構文を適用したいのですがうまくいきません。
C#では文字列として読み込んでしまうため、エラーが出てくれたらいいのですが・・・
つまり構文が間違っているのかなと思い色々調べてみましたができませんでした。
C#
1cmd.CommandText = "INSERT INTO [dbo].[Table2] ([ID], [年齢])" + 2"SELECT [ID], [年齢] FROM [dbo].[Table]" + 3"WHERE ID = N'" + id + "'"; 4if(minAge != null && maxAge != null) 5{ 6 cmd.CommandText += "AND 年齢 = N'BETWEEN" + minAge + "'AND'" + maxAge + "'"; 7}
このように最後の列のANDの両端に'を追加するとエラーが出てしまい実行できません。
{"An expression of non-boolean type specified in a context where a condition is expected, near '50'."}
と出てきます。
どこが間違っているのか教えてください。
intには関係の無い文字化けを防ぐNを記載していますが、これはありでお願いいたします。
よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。