プロが教える店舗&オフィスのセキュリティ対策術

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句はどのように設定するのが好ましいのでしょうか・・・、、
初歩的な質問で大変申し訳ありませんが教えてください。困っています。

A 回答 (2件)

DBが何かわかりませんが、SQL Server 2005で試したところ、



SELECT * FROM テーブル名 WHERE カラム名 LIKE '%%'

というSQL文で実行すると全レコードを引っ張ってきたのでいけるかと思いますが、エラーが出たのでしょうか?

この回答への補足

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

補足日時:2008/12/19 23:32
    • good
    • 0

データソースコントロールに、データをセレクトする前のイベントがあるはずです。

そこで値を変えるかなにかしてはどうでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!