• ベストアンサー

NULLで検索を行ったときは全件表示させたい

VWD2008で簡単なDB検索アプリケーションを作成しています。 ページ内に Textboxコントロール(Textbox1)とButtonコントロール GridViewコントロール(GridView1)を配置しています。 データベース列の要素は id(番号) name(商品名) value(数量) として、テーブルの内容には下記内容が入力されています。 ------------------------- id    name   value 1    AAAA   1 2    AAAB   2 3    DDDD   3 -------------------------- テキストボックスに商品名を入力して、該当する商品だけを抽出させるのですが テキストボックスに何も入力せずに検索ボタンを押したときは すべてのDBの内容を表示させたいのです。 今のところ何も入力せずに検索しなかった場合はGridView上には 何も結果が出力されません。 GridViewのデータソースの構成によりWhere句の追加で 列:name 演算子:LIKE ソース:Control パラメータのプロパティ:TextBox1 規定値:何も入力せず(NULL?) と入力して追加ボタンを押すと以下のWHERE句が追加されました。 SELECT id, name, value FROM Table1 WHERE    ([name] LIKE '%' + @name + '%')) NULLで検索を行った場合に全件表示させたい場合 WHERE句はどのように設定するのが好ましいのでしょうか・・・、、 初歩的な質問で大変申し訳ありませんが教えてください。困っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • ape5
  • ベストアンサー率57% (85/148)
回答No.1

DBが何かわかりませんが、SQL Server 2005で試したところ、 SELECT * FROM テーブル名 WHERE カラム名 LIKE '%%' というSQL文で実行すると全レコードを引っ張ってきたのでいけるかと思いますが、エラーが出たのでしょうか?

masaxy
質問者

補足

回答ありがとうございます。 このSQL文だと確かに全レコードは引っ張ってこれますが テキストボックスに入力した検索ワードに応じて 表示レコードを反映させることができないんです・・。

その他の回答 (1)

  • Xaval
  • ベストアンサー率58% (61/105)
回答No.2

データソースコントロールに、データをセレクトする前のイベントがあるはずです。そこで値を変えるかなにかしてはどうでしょうか。

関連するQ&A