- PR -

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

1
投稿者投稿内容
たなすぺ
常連さん
会議室デビュー日: 2003/06/23
投稿数: 35
投稿日時: 2004-10-07 10:03
いつもお世話になっております。

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

パラメータクエリを使用すると
条件句に使用できない構文等を
ご存知の方がいらっしゃいましたら
ご教授願えますよう宜しくお願い致します。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-10-07 10:09
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";
たなすぺ
常連さん
会議室デビュー日: 2003/06/23
投稿数: 35
投稿日時: 2004-10-07 10:18
毎々大変お世話になっております。

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

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

1

スキルアップ/キャリアアップ(JOB@IT)