- - PR -
ASP.NET パラメータクエリですべてのデータを抽出
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-05-20 19:20
SQLDataadapterオブジェクトのCommandTextに
"SELECT ユーザID, 氏名 FROM T_個人マスタ WHERE (ユーザID = @Param)" SqlDataAdapter1.SelectCommand.Parameters("@Param").Value = "001" SqlDataAdapter1.Fill(DataSet1, "T_個人マスタ") とすると 001 だいまる が取得できますが、全レコードを抽出したいので SqlDataAdapter1.SelectCommand.Parameters("@Param").Value = "%" とすると一件も取得できませんでした。 きっと WHERE ユーザID LIKE % でなく WHERE = % と認識しているため取得できないのかと思いますが、使い方が間違っているのでしょうか? 勉強もかねてパラメータクエリを使った方法でやりたいと思いますのでWHERE句を直接ハードコーディングするのは避けたいと思ってます。 よろしくお願いします。 | ||||
|
投稿日時: 2003-05-21 08:14
こんにちは。
IDの型は何でしょうか?数字系の型だと、LIKE演算子は使えません。("001"とされているので、文字系の型だと思いますが) 実行速度を気にするなら、SQL文を組み立てるときにWHERE句を付けるかどうか、判断します。気にしないなら、「WHERE ユーザID LIKE @Param」にしておきます。ワイルドカードが指定されていなければ、完全に一致する物が検索されます。 | ||||
|
投稿日時: 2003-05-21 09:27
コメントありがとうございます。
ID型はnverchar型です。 LIKE演算子を使ってみる事にします。 でもどうしてなんでしょうね? ありがとうございました。 |
1