- PR -

SqlDataSourceでパラメータの定義

1
投稿者投稿内容
タコ
会議室デビュー日: 2006/06/27
投稿数: 6
投稿日時: 2006-06-27 21:12
お世話になります。

【ASP.NET Framework2.0】で質問があります。

現在、検索画面を作成していまして、
@検索条件の入力
A検索ボタンを押す
B次画面にQueryStringでパラメータを渡してSQLを発行!

の流れなんですが、

検索条件の入力が無かった場合は条件としないようにSQL文のWhere句に
((test = @test) OR (@test IS NULL))  ※testにはNULLを入れておく
のように条件を設定しています。

ですが、下記の方法でtestの値にうまくNULLが入りません。


SqlDataSourceでパラメータの定義を指定する時に、
DefaultValueを空欄にすると、パラメータソースの値がNothingが返ってきてしまう。

詳細設定プロパティで
ConvertEmptyStringToNull(空の文字列がnull値として扱われるべきかどうか)
は、Trueが設定されているのでNULLが返ってくると思ったのですが・・・。


せっかくFramework2.0なので、出来るだけコーディングを少なくして作成したいのですが
QueryStringで渡したい値をNULLにするにはコーディングするしかないのでしょうか?
(ちなみにSmallint型なので、ワイルドカード検索は出来ません)

それとももっと他にいい検索方法があったら教えて頂きたいのですが・・( TДT)
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-06-28 08:09
このサンプルが参考になるかと:
http://akiokasai.qsh.eu/Goto.aspx?id=060102-2

DropDownListから「すべての商品」を選択すると、パラメータ変数にNullを代入
します。QueryStringの場合もこれと同じ手法で可能なのでは?

_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
タコ
会議室デビュー日: 2006/06/27
投稿数: 6
投稿日時: 2006-06-28 11:00
ありがとうございます!
サンプルを参考にしたら出来ました!!

CancelSelectOnNullParameter="True"(規定値)だと
ConvertEmptyStringToNullを="True"を設定してもうまくNULLが渡らないんですね。

ホントに助かりました!!(´▽`)
1

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