QA@IT
«回答へ戻る

SurferOnWww様のコメントより、解答欄に記載した内容は質問欄に追記しました。

2
-SurferOnWww 様
-
-ご回答してくださりありがとうござます。
-
-何を作っているかや環境についての説明が不足し、申し訳ございませんでした。
-作っているもの:ASP.NET Web Forms
-.NET のバージョン:.NET Framework 4.5
-DBサーバーとそのバージョン:SQL Server 2012
-デバック実行時のブラウザ:IE
-以上です。
-
-表題の件について。
-いただいたアドバイスをもとに、SQL上で(2)を試したところ無事求めていたものが得られました。
-ただ、お伝えし忘れていたことがありました。申し訳ございません。
-①はDropDownListなのですが、②はTextBoxを使用しています。
-
-例えば、
-【1】「大阪府」で検索する場合
-①で「大阪府」を選択し、②は入力せずに、検索ボタンをクリックする。
-【2】「大阪府大阪」で検索する場合
-①で「大阪府」を選択し、②で「大阪」とだけ手入力し、検索ボタンをクリックする。
-ということをしたいです。
-
-このとき、
-【1】は
-WHERE [都道府県] = '大阪府' AND [市区町村] = '全て'
-【2】は
-WHERE [都道府県] = '大阪府' AND [市区町村] LIKE '%大阪%'
-ということで合っていますか?
-で、【1】【2】を満たせるようなWhere句が
-WHERE ([都道府県]=@都道府県)
-AND (@市区町村="全て" OR [市区町村]=@市区町村)
-である、という理解で問題ないでしょうか?
-
-Q1.
->市区町村 TextBox の初期値を"全て"とし
-と書いていらっしゃいました。
-初期値を設定してしまうと、実行時にTextBox内にすでに文字が入力されている状態になるのではありませんか?
-私の言っている初期値と、SurferOnWww 様のおっしゃる初期値に違いがありましたらごめんなさい。
-で、もし「実行時にTextBox内にすでに文字が入力されている状態になる」のでしたら、それは避けたいので、"全て"にするにはどうすればいいのだろうかと悩んでおります。
-[市区町村] like '%' 
-にすれば、すべて表示されるかなと考え、
-AND (@市区町村 LIKE '%' OR [市区町村] LIKE '%'+ @市区町村 +'%')
-のようにステートメントを書き換え、【1】を実行しましたが、テーブルには何も表示されませんでした。
-どういうステートメントを作成すればよろしいのでしょうか。
-
-
-超初心者で大変申し訳ございませんが、再度アドバイスいただけると幸いです。
-よろしくお願い致します。
+削除しました。

削除しました。

削除しました。

一部自己解決いたしましたので、編集いたしました。

2
 である、という理解で問題ないでしょうか?
 
 Q1.
-(2)のWhere句を[GridViewタスク]-[データソースの構成]で作ろうとしたのですが、ORの作り方が分かりません。
-[データソースの構成]で作成したSelectステートメントを手動で書き換える方法はありますか?
-※[デザイン]タブではなく[ソース]タブのところで書き換える方法は発見しました。
-
-Q2.
 >市区町村 TextBox の初期値を"全て"とし
 と書いていらっしゃいました。
 初期値を設定してしまうと、実行時にTextBox内にすでに文字が入力されている状態になるのではありませんか?

SurferOnWww 様

ご回答してくださりありがとうござます。

何を作っているかや環境についての説明が不足し、申し訳ございませんでした。
作っているもの:ASP.NET Web Forms
.NET のバージョン:.NET Framework 4.5
DBサーバーとそのバージョン:SQL Server 2012
デバック実行時のブラウザ:IE
以上です。

表題の件について。
いただいたアドバイスをもとに、SQL上で(2)を試したところ無事求めていたものが得られました。
ただ、お伝えし忘れていたことがありました。申し訳ございません。
①はDropDownListなのですが、②はTextBoxを使用しています。

例えば、
【1】「大阪府」で検索する場合
①で「大阪府」を選択し、②は入力せずに、検索ボタンをクリックする。
【2】「大阪府大阪」で検索する場合
①で「大阪府」を選択し、②で「大阪」とだけ手入力し、検索ボタンをクリックする。
ということをしたいです。

このとき、
【1】は
WHERE [都道府県] = '大阪府' AND [市区町村] = '全て'
【2】は
WHERE [都道府県] = '大阪府' AND [市区町村] LIKE '%大阪%'
ということで合っていますか?
で、【1】【2】を満たせるようなWhere句が
WHERE ([都道府県]=@都道府県)
AND (@市区町村="全て" OR [市区町村]=@市区町村)
である、という理解で問題ないでしょうか?

Q1.
>市区町村 TextBox の初期値を"全て"とし
と書いていらっしゃいました。
初期値を設定してしまうと、実行時にTextBox内にすでに文字が入力されている状態になるのではありませんか?
私の言っている初期値と、SurferOnWww 様のおっしゃる初期値に違いがありましたらごめんなさい。
で、もし「実行時にTextBox内にすでに文字が入力されている状態になる」のでしたら、それは避けたいので、"全て"にするにはどうすればいいのだろうかと悩んでおります。
[市区町村] like '%' 
にすれば、すべて表示されるかなと考え、
AND (@市区町村 LIKE '%' OR [市区町村] LIKE '%'+ @市区町村 +'%')
のようにステートメントを書き換え、【1】を実行しましたが、テーブルには何も表示されませんでした。
どういうステートメントを作成すればよろしいのでしょうか。

超初心者で大変申し訳ございませんが、再度アドバイスいただけると幸いです。
よろしくお願い致します。

SurferOnWww 様

ご回答してくださりありがとうござます。

何を作っているかや環境についての説明が不足し、申し訳ございませんでした。
作っているもの:ASP.NET Web Forms
.NET のバージョン:.NET Framework 4.5
DBサーバーとそのバージョン:SQL Server 2012
デバック実行時のブラウザ:IE
以上です。

表題の件について。
いただいたアドバイスをもとに、SQL上で(2)を試したところ無事求めていたものが得られました。
ただ、お伝えし忘れていたことがありました。申し訳ございません。
①はDropDownListなのですが、②はTextBoxを使用しています。

例えば、
【1】「大阪府」で検索する場合
①で「大阪府」を選択し、②は入力せずに、検索ボタンをクリックする。
【2】「大阪府大阪」で検索する場合
①で「大阪府」を選択し、②で「大阪」とだけ手入力し、検索ボタンをクリックする。
ということをしたいです。

このとき、
【1】は
WHERE [都道府県] = '大阪府' AND [市区町村] = '全て'
【2】は
WHERE [都道府県] = '大阪府' AND [市区町村] LIKE '%大阪%'
ということで合っていますか?
で、【1】【2】を満たせるようなWhere句が
WHERE ([都道府県]=@都道府県)
AND (@市区町村="全て" OR [市区町村]=@市区町村)
である、という理解で問題ないでしょうか?

Q1.
>市区町村 TextBox の初期値を"全て"とし
と書いていらっしゃいました。
初期値を設定してしまうと、実行時にTextBox内にすでに文字が入力されている状態になるのではありませんか?
私の言っている初期値と、SurferOnWww 様のおっしゃる初期値に違いがありましたらごめんなさい。
で、もし「実行時にTextBox内にすでに文字が入力されている状態になる」のでしたら、それは避けたいので、"全て"にするにはどうすればいいのだろうかと悩んでおります。
[市区町村] like '%' 
にすれば、すべて表示されるかなと考え、
AND (@市区町村 LIKE '%' OR [市区町村] LIKE '%'+ @市区町村 +'%')
のようにステートメントを書き換え、【1】を実行しましたが、テーブルには何も表示されませんでした。
どういうステートメントを作成すればよろしいのでしょうか。


超初心者で大変申し訳ございませんが、再度アドバイスいただけると幸いです。
よろしくお願い致します。

回答を投稿

SurferOnWww 様

ご回答してくださりありがとうござます。

何を作っているかや環境についての説明が不足し、申し訳ございませんでした。
作っているもの:ASP.NET Web Forms
.NET のバージョン:.NET Framework 4.5
DBサーバーとそのバージョン:SQL Server 2012
デバック実行時のブラウザ:IE
以上です。

表題の件について。
いただいたアドバイスをもとに、SQL上で(2)を試したところ無事求めていたものが得られました。
ただ、お伝えし忘れていたことがありました。申し訳ございません。
①はDropDownListなのですが、②はTextBoxを使用しています。

例えば、
【1】「大阪府」で検索する場合
①で「大阪府」を選択し、②は入力せずに、検索ボタンをクリックする。
【2】「大阪府大阪」で検索する場合
①で「大阪府」を選択し、②で「大阪」とだけ手入力し、検索ボタンをクリックする。
ということをしたいです。

このとき、
【1】は
WHERE [都道府県] = '大阪府' AND [市区町村] = '全て'
【2】は
WHERE [都道府県] = '大阪府' AND [市区町村] LIKE '%大阪%'
ということで合っていますか?
で、【1】【2】を満たせるようなWhere句が
WHERE ([都道府県]=@都道府県)
AND (@市区町村="全て" OR [市区町村]=@市区町村)
である、という理解で問題ないでしょうか?

Q1.
(2)のWhere句を[GridViewタスク]-[データソースの構成]で作ろうとしたのですが、ORの作り方が分かりません。
[データソースの構成]で作成したSelectステートメントを手動で書き換える方法はありますか?
※[デザイン]タブではなく[ソース]タブのところで書き換える方法は発見しました。

Q2.
>市区町村 TextBox の初期値を"全て"とし
と書いていらっしゃいました。
初期値を設定してしまうと、実行時にTextBox内にすでに文字が入力されている状態になるのではありませんか?
私の言っている初期値と、SurferOnWww 様のおっしゃる初期値に違いがありましたらごめんなさい。
で、もし「実行時にTextBox内にすでに文字が入力されている状態になる」のでしたら、それは避けたいので、"全て"にするにはどうすればいいのだろうかと悩んでおります。
[市区町村] like '%' 
にすれば、すべて表示されるかなと考え、
AND (@市区町村 LIKE '%' OR [市区町村] LIKE '%'+ @市区町村 +'%')
のようにステートメントを書き換え、【1】を実行しましたが、テーブルには何も表示されませんでした。
どういうステートメントを作成すればよろしいのでしょうか。

超初心者で大変申し訳ございませんが、再度アドバイスいただけると幸いです。
よろしくお願い致します。

SurferOnWww 様

ご回答してくださりありがとうござます。

何を作っているかや環境についての説明が不足し、申し訳ございませんでした。
作っているもの:ASP.NET Web Forms
.NET のバージョン:.NET Framework 4.5
DBサーバーとそのバージョン:SQL Server 2012
デバック実行時のブラウザ:IE
以上です。

表題の件について。
いただいたアドバイスをもとに、SQL上で(2)を試したところ無事求めていたものが得られました。
ただ、お伝えし忘れていたことがありました。申し訳ございません。
①はDropDownListなのですが、②はTextBoxを使用しています。

例えば、
【1】「大阪府」で検索する場合
①で「大阪府」を選択し、②は入力せずに、検索ボタンをクリックする。
【2】「大阪府大阪」で検索する場合
①で「大阪府」を選択し、②で「大阪」とだけ手入力し、検索ボタンをクリックする。
ということをしたいです。

このとき、
【1】は
WHERE [都道府県] = '大阪府' AND [市区町村] = '全て'
【2】は
WHERE [都道府県] = '大阪府' AND [市区町村] LIKE '%大阪%'
ということで合っていますか?
で、【1】【2】を満たせるようなWhere句が
WHERE ([都道府県]=@都道府県)
AND (@市区町村="全て" OR [市区町村]=@市区町村)
である、という理解で問題ないでしょうか?

Q1.
(2)のWhere句を[GridViewタスク]-[データソースの構成]で作ろうとしたのですが、ORの作り方が分かりません。
[データソースの構成]で作成したSelectステートメントを手動で書き換える方法はありますか?
※[デザイン]タブではなく[ソース]タブのところで書き換える方法は発見しました。

Q2.
>市区町村 TextBox の初期値を"全て"とし
と書いていらっしゃいました。
初期値を設定してしまうと、実行時にTextBox内にすでに文字が入力されている状態になるのではありませんか?
私の言っている初期値と、SurferOnWww 様のおっしゃる初期値に違いがありましたらごめんなさい。
で、もし「実行時にTextBox内にすでに文字が入力されている状態になる」のでしたら、それは避けたいので、"全て"にするにはどうすればいいのだろうかと悩んでおります。
[市区町村] like '%' 
にすれば、すべて表示されるかなと考え、
AND (@市区町村 LIKE '%' OR [市区町村] LIKE '%'+ @市区町村 +'%')
のようにステートメントを書き換え、【1】を実行しましたが、テーブルには何も表示されませんでした。
どういうステートメントを作成すればよろしいのでしょうか。


超初心者で大変申し訳ございませんが、再度アドバイスいただけると幸いです。
よろしくお願い致します。