QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

パラメータクエリーを使用したSQL文について

いつもお世話になっております。

--------Technology Tools--------
・Visual C# .Net
・SQL SERVER 2000
・ASP.NET
・Internet Infomation Service
--------------------------------

現在パラメータクエリーを使用したSQLを
作成しています。

条件句にIN演算子を使用すると
該当するデータが取得できません。
(エラーもおこっていません。)
※ 実際に生成されたSQLをクエリアナライザ等で実行するとデータは取得出来ます。

以下は上記例になります。
---------------------------------------------------------
SELECT RETU FROM TABLEA WHERE A IN (@A)

command.Parameters.Add("@A",SqlDbType.Char);

command.Parameters["@A"].Value = "10,20,30";
---------------------------------------------------------

パラメータクエリを使用すると
条件句に使用できない構文等を
ご存知の方がいらっしゃいましたら
ご教授願えますよう宜しくお願い致します。

質問者:たなすぺ

回答

INの場合は分けてかきます。

"SELECT RETU FROM TABLEA WHERE A IN (@A, @B, @C) "

command.Parameters.Add("@A",SqlDbType.Char);
command.Parameters["@A"].Value = "10";

command.Parameters.Add("@B",SqlDbType.Char);
command.Parameters["@B"].Value = "20";

command.Parameters.Add("@C",SqlDbType.Char);
command.Parameters["@C"].Value = "30";

投稿者:burton999

編集 履歴 (0)

毎々大変お世話になっております。

大ベテランさんご教授ありがとうございました。

ご指導頂きました通り変更し、
動作を確認致しましたところ、意図したデータの
取得に成功しました。

投稿者:たなすぺ

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。