- PR -

カラムを指定する為にパラメータは使えますか??

1
投稿者投稿内容
Furi2
ベテラン
会議室デビュー日: 2004/10/28
投稿数: 74
お住まい・勤務地: N.Hollywood/Agoura Hills
投稿日時: 2004-11-13 19:39
以下のようなSQLがあったとし、、

@SearchField nvarchar(20),
@SearchValue int
SELECT * FROM Cases WHERE @SearchField=@SearchValue

それに対して

SqlParameter param = cmd.Parameters.Add( "@SearchField", SqlDbType.NVarChar, 20 );
param.Value = "ID";
param = cmd.Parameters.Add( "@SearchValue", SqlDbType.Int );
param.Value = 56;

とカラムに対してパラメータを指定することはできるのでしょうか。試したところ、うまく抽出できません。

SQLを
SELECT * FROM Cases WHERE ID=@SearchValue
と明示的にすると、ちゃんとデータが取り出せます。

私のやろうとしていることは、無理なのでしょうか、それとも何か特別なことをしなければならないのでしょうか??よろしくお願いします!
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-11-13 21:14
諸農です。

動的にSQL文を作成したいと言うことでしたら、
SqlCommandクラスを使ってもいいのではないでしょうか。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
中博俊
ベテラン
会議室デビュー日: 2004/10/17
投稿数: 91
お住まい・勤務地: 大阪市
投稿日時: 2004-11-13 21:56
望みのことをそのままは無理なので、それを代行してくれるストアードプロシージャを作ればできないこともありませんね(^^
Furi2
ベテラン
会議室デビュー日: 2004/10/28
投稿数: 74
お住まい・勤務地: N.Hollywood/Agoura Hills
投稿日時: 2004-11-14 02:14
早速の御返答ありがとうございます。なるほど、IFなどを利用して、、ということですね。
色んなカラムに対して検索できるようなプロシージャを使え、とボスに言われたので、上記の方法でやるのだとばかり思っていました。

試していた方法は無理だ、とわかるだけでもとても時間の短縮になります。どうもありがとうございました!
1

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