トップ回答者
クエリビルダで列名を変数にしたいが

質問
-
VisualStudio2010でwebアプリを作成しています。
クエリビルダでSQL文を作成しSQLサーバにアクセスしています。
このSQL文でわからない点があります。
列1、列2、列3のフィールドを持つテーブルがあるとします。
ドロップダウンリストで選択した項目により、ある時は列1だけ取得し
ある時は列2だけ取得し、ある時は列3だけ取得する様なSQL文を作りたいのですが、どうすればよいかわかりません、列名を変数にできればよさそうなんですが、そんなことできますか?
ある時は
SELECT
列1 FROM table1
ある時は
SELECT 列2 FROM table1
ある時は
SELECT 列3 FROM
table1
としたいので
SELECT @列名 FROM
table
@列名は変数のつもりです。
このようにできればよいと思っていますが・・・
よろしくおねがいします
回答
-
クエリビルダしか使えないのでは何ともなりません。
DropDownList の SelectedItem や SelectedValue で列名が取得できるなら、ストアドプロシージャを作って、それに列名を渡してクエリを組み立て、sp_executesql を使って実行するようにしてはいかがですか。
C# または VB.NET のプログラムでクエリを組み立てて、SqlDataSource などのデータソースコントロールを使って DB からデータを取得するという方法もあります。
すべての返信
-
クエリビルダしか使えないのでは何ともなりません。
DropDownList の SelectedItem や SelectedValue で列名が取得できるなら、ストアドプロシージャを作って、それに列名を渡してクエリを組み立て、sp_executesql を使って実行するようにしてはいかがですか。
C# または VB.NET のプログラムでクエリを組み立てて、SqlDataSource などのデータソースコントロールを使って DB からデータを取得するという方法もあります。
-
こんにちは、snowshito さん
フォーラムオペレータの佐伯 玲 です。その後の状況はいかがでしょうか?
追加で情報が寄せられておりますのでご確認いただけましたらと思います。MSDN フォーラムでは寄せられた情報で参考になったり解決に至った情報には「回答としてマーク」して頂くことをお願いしております。
「回答としてマーク」して頂くとスレッドは回答済みとなり解決したことを示します。
あとからタイトルを見て同じような疑問を持っていた方等が情報を探しやすいようにするためご協力いただけましたらと思います。寄せられた情報をご確認いただきうまくいかなかったり不明であった点があれば引き続きこちらのスレッドへご返信くださいませ。
宜しくお願い致します。
__________________________
日本マイクロソフト株式会社 フォーラム オペレータ 佐伯 玲 -
二重投稿のようなのでその URL を張っておきます。
http://okwave.jp/qa/q7832694.html
http://bbs.wankuma.com/index.cgi?mode=al2&namber=64556
質問者さんへ>二重投稿はダメとは言いませんが、二重投稿先の URL 等を書いておいていただければと思います。同じ問題を持つ人が検索でこのページにたどり着いた時、URL をたどって解決できるかもしれませんから。
ここはフォーラムで、開発者同士の情報交換の場所ですので、他の閲覧者のことも考えていただければと思います。
- 編集済み SurferOnWww 2012年12月16日 3:24 マルチポスト先追加