ASP.net C#のデータの列表示方法

このQ&Aのポイント
  • ASP.net C#の初心者が、SQL Server上のデータをwebページ上に表示させる方法について困っています。店舗ごとのアイテムの数量を表形式で表示するための方法を教えてください。
  • ユーザーが都道府県を選択すると、その情報をパラメータとして渡し、クエリーを実行してデータを出力する機能を作りたいです。
  • インターネットで調べたり、検索したりしても解決策が見つからないため、質問させていただきました。ASP.netの経験者の方からのアドバイスをお願いします。
回答を見る
  • ベストアンサー

ASP.net C# データの列表示

よろしくお願いいたします、ASP.net初心者です。C#でwebページ上にSQL Server上のデータを下記のように表示させたいのですが、どのようにすればいいのか全くわからず困っています。 <データベース> アイテム名  店舗名   数量 -------------------------- アイテム1   店舗1   2 アイテム2   店舗1 3 アイテム3    店舗1 1 アイテム1   店舗2 2 アイテム3   店舗2 3 <Webページでの出力> アイテム名  店舗1   店舗2 ------------------------------ アイテム1      2      2 アイテム2      3      0 アイテム3      1      3 Webサイトの機能としては、ユーザーが都道府県を選択すると、その情報がパラメータとして渡されます。そのパラメーターを受け取ってクエリーを実行してデータを出力します。店舗数は選択した都道府県により異なります。 インターネットでも調べてみたのですが、検索の仕方が悪いためか、解決策がなかなか見つからず、質問させていただくことにしました。 ご教授いただければ 大変助かります。 よろしくお願いいたします。

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

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.3

>>多分用意されているListViewやGridViewなどは使えないのでしょう。 そんなことはないです。今回のレベルなら、画面に表示したいデータをC#のコードを使って作り上げて、その結果をListViewやGridViewに表示するようにすればいいだけだと思います。 とはいえ、初心者にとっては、なかなか先の長い道のりであるのは、確かかもしれませんね。 まあ、同様のことはMSのデータベースソフトのAccessでも、昔のボーランドのDelphiでも、オープンソースのRubyonRailsでもありました。これらを使うと、ちょいちょいと操作をすれば、フレームワークがデータベースを読み込んで、結果を画面に表示するプログラムを作ってくれます。でも、 「すごく簡単にプログラムが作れたなあ。でも、ちょっと表示方法・操作方法が気に入らない。ちょっとだけ直したい」 と思ったとき、そこから先は、使われている言語の勉強、フレームワーク自体の勉強、そのフレームワークが決めた動きを出し抜いて、自分の思い通りの動作をさせる方法を探さないといけないことになったりします。こうなると、腰をすえて長い勉強の始まりとなります。 さらに勉強が進んで、それらが理解できたとして、さらに細かな要望を実現したいとき、質問者さんの言われるように、自分の希望する動作をさせるには「用意されているListViweやGridViewなどが使えない」と判明することがあります。 わたしもC#でWindowsアプリを作っているとき、GridViewを自分の思うような動作をさせるには、機能が足りないことに気がついたことあります。このときは、GridViewのソースコードを追いかけて解析し、自分用のGridViewカスタムコンポーネントを作って対処しましたけど、元のコードが長くて時間がかかりましたね。 そして、私が勉強したとき、「C#によるカスタムコンポーネントプログラム」とか、「プログラミングADO.NET 2.0/マイクロソフト公式解説書」が役にたちました。

tommia
質問者

お礼

ご丁寧にありがとうございます。ListView や GridView は使える可能性があるようので、まずはC# のコードを作ることに注力してみたいと思います。フレームワークをそのまま使用する場合は簡単だけれど、少しでも変更しようと思うと時間をかけて勉強する必要があるということにすごく納得しました。ASP.NETを勉強するいい機会なので、がんばってみます。また、ご紹介いただいた本も見てみたいと思います。

その他の回答 (2)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

私は、C#で通常のWindowsアプリは作成したことありますけど、C#でASP.Netのフレームワークを使ってのWebを作ったことはありませんが・・・ JavaやPHPでの開発では、プログラマが「こういうふうに出力したい」と思えば、それが出力されるようなコードを、シコシコとコーディングします。 ですから、「こんなふうに表示したい」と思ったら「そういうふうに表示されるようにコードを書きあげる」っていうだけです。 そのやり方が判らないばあいは、ASP.NetやC#、SQL Server、SQL言語に関する文献を読んで勉強するだけです。 (まあ、数ヶ月とか数年の学習期間が必要かもしれませんが・・・) たぶん、手順としては、Webページで表示するデータが得られるSQL命令が発行されるようにロジックを組み立て、その結果をWebページに編集出力すればいいと思います。 がんばってください。

tommia
質問者

お礼

ご回答ありがとうございます。多分用意されているListViewやGridViewなどは使えないのでしょう。時間がかかりそうですが、もっとAPS.NETを勉強してみます。ありがとうございました。

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.1

C#なんてページを編集するだけでしょう。 ページに<table>ブロックをつくればいいだけじゃないですか。 <table border="1"> <tr><th>アイテム名</th><th>店舗1</th><th>店舗2</td></tr> <tr><td>アイテム1</td><td>2</td><td>2</td></tr> <tr><td>アイテム2</td><td>3</td><td>0</td></tr> <tr><td>アイテム3</td><td>1</td><td>3</td></tr> </table> こんなこと、わざわざサイトで説明する人は居ないとおもいますよ。

tommia
質問者

補足

ご回答ありがとうございます。 質問内容があまり明確でなかったようですね。すみません。やりたいことは、<td>を店舗ごとに動的に設定したいのです。<td>の数は選択した都道府県によってことなりますので2列の場合もあれば5列になる場合もあります。 見当違いかもしれませんが、データを一度 Arrayに登録して、loopしてテーブルを書いていくのかなと、なんとなく思っています。

関連するQ&A

  • ASPでデータを2列に表示させる方法

    ASPでWebページを作成し、ユーザーにユーザー情報(住所、氏名等)を入力してもらうページを作成しました。 Accessに登録されたこのデータを表示させて郵便用のタックラベルを印刷できるASPを作成したいと思います。 タックラベルは2列表示(横2名分、縦8名分、合計16名分)で印刷されます。 どのようにしたら登録データを左右交互に表示させることができるのでしょうか? ASPの作成には、「Dreamweaver MX 2004」を使用しています。ダイナミックページの作成から動的手ブールの作成ツールを使って作成しています。これだと、登録されたユーザーの分だけ、縦方向に印刷されてしまいます。 奇数データの「行揃え」を「左」に設定して、偶数データの「行揃え」を「指定なし」にできれば、左右交互にラベル印刷ができるような気がするのですが、どうしたらいいのか分かりません。 プログラムの知識がないので、難しいことは分かりません。できれば、追加するソースを教えていただけると助かります。どうか宜しくお願い致します。

  • ACCESS パラメーターをプルダウンから

    ACCESSのパラメータークエリで、入力する値をプルダウンから選択するにはどうすれば良いですか。頑張って調べても説明が適当だったり自己解決したりで意味不明です。 以下データベースの概要 ファイル名 データベース1 テーブル T会社リスト 列 ID 会社名 都道府県 代表者 業種 クエリ Q会社リスト 列 会社名 都道府県(パラメーター) フォーム F会社リスト 項目 会社名 都道府県 フォームを開くとパラメーター入力画面が出ますが、そこで都道府県(パラメーター)をプルダウンから選択するようにしたいです。

  • ASPで画面間のパラメタ受け渡し

    こんばんは。ASP初心者です。 ASPでWEBページの作成を行っています。画面遷移をResponse.Redirect()で行っているのですが、遷移前のページと遷移後のページでパラメタを受け渡したい場合はSession("hoge") = "hogehoge"のようにセッションに入れる以外、何か方法はないでしょうか。リクエスト間でパラメタ渡せればがいいので、セッションを通じて保持しておく必要がないのです。クエリを使用するとアドレス欄に変数の値が見えてしまうのでできれば使いたくありません。

  • ASP 副問合せ

    はじめまして。 2年目SEをやっております。 今、ASPを使ったデータベース(ORACLE)のWeb業務監視アプリケーション開発を メーカーの方にお願いしています。 そこで、SQLの副問合せをASP上でする想定でいたのですが、 ASPでは、副問合せができないかもしれないといわれております。 いろいろ調べてはいるのですが、できるのかできないのかがわからず困っております。 このことについて、ご存知の方がいらっしゃいましたら、どうぞ教えてください。 よろしくお願いいたします。

  • ASP.NET GridViewの表示

    お世話になります。 環境:Oracle10g、VisualStudio2005 ASP.NET(VB)、Winxp ASP.NETでのWEBサイト構築は初めてで、わからないことだらけ で試行錯誤しております。 GridViewでObjectDataSourceを使用し、データ表示をしたい のですが、ビジネスオブジェクトの選択で、リストボックス に選択項目が表示されません。リストボックスに選択項目と して表示される条件を教えて頂きたいです。 xsdファイルにDataTableとDataAdapterを作成しクエリを設定 するところまでやりました。 情報不足等あれば追記致しますので、宜しくご教授お願い致 します。

  • ASPでAccessのデータを更新するプログラム(初心者です)

    ASPの知識がないので質問が分り難いと思いますが、宜しくお願いします。 ASPの本についていたサンプルデータを使って、Webページを作成していますが、プログラムの知識がないので、サンプルデータをコピー&ペーストして四苦八苦しながら作成している次第です。データベースのデータを表示させたり新しいデータを追加するところまではできましたが、データを更新するサンプルがないので登録データを更新することができません。更新用のフォームに現在登録されているデータを表示させるところまではできました。ここで変更をしたデータをupdate.aspにデータを送信してデータベースのデータを更新させたいのですが、このupdate.aspに記載するプログラムがよくわかりません。初心者の私でも解るように、どなたか教えていただけませんでしょうか。質問の仕方が変かも知れませんが、宜しくお願いいたします。

  • ASPアプリケーションが動かなくなります

    社内のイントラネットWebでASPアプリケーションが動いています。 そのASPが原因と考えられるトラブルが不定期に発生します。  具体的なトラブルの内容は、ASPアプリケーションによるページの表示が出力されなくなるというもので、発生したときはIISを再起動して対応しております。 ( 通常のHTMLページは正常に表示できています ) トラブルが発生するタイミングはデータベースに新しいレコードが追加されて、その追加されたレコードのデータを複数と考えられる人が参照した時のようですが、確証がえられていません。 トラブルの原因としてプログラムソース中のデータベースのオープン・クローズやレコードセットのオープン・クローズなどの抜けを考え一通りチェックして修正したつもりになっていましたが、トラブルは相変わらず発生して頭を抱えている現状です。 ASPアプリケーション(の構築)でトラブルの原因に関するヒント・考えられる動作・チェックするべき点などなんでも結構ですのでお手数ですが教えてください。 なお、同一のサーバーでは複数のASPアプリケーションが存在します。 ○ 環境 Webサーバ:Windows2003 Server データベース:Microsoft Access

  • ASPからSQLサーバへの接続について

    しばらくASPから離れておりましたので、ご教授願います。 データベースにSQLサーバ6.5を使っています。 ASPからSQLサーバに接続してデータの登録、変更、削除をしています。 その際に、ASPのソースコードに接続ユーザ名とパスワードを記述しているのですが、 これを記述しないで接続することは可能でしょうか? 可能であれば、その設定方法をお教え願います。 開発環境は以下の通りです。 Windows2000 Prof + IIS + SQL Server6.5

  • [ASP+SQL]データ長の調べ方。

    こんばんわ。 まず、ASPとSQLでWebプログラムを書いています。 あるテーブルの列名を配列何かに取り込みには・・・ For each fld in rsSyohinMaster.Fields  と fld.Name  でうまいこととれます・・・。 データ長を採るには・・・ fld.???????     ↑何にすればいいのでしょうか?? 宜しくお願い致します。

  • データベースから削除したデータをGoogleで検索表示されないようにするには?

    飲食店のデータベースサイトに私が過去に経営していた店舗のデータがあり、 Googleで店舗名で検索した結果、 「○○(データベースサイトの名前) □□店(店舗名) のレビュー」というタイトルが出てきます。 現在は閉店しましたが、個人名や住所が掲載されておりGoogleで検索されたくないので、データベースサイトの管理者の方に店舗データの削除をしてきただきました。 インターネットで調べたところ、Googleで検索表示されないようにするには、 ページにタグを埋め込んだり、404が返るように設定しなければいけないようですが、 基本的にはページを削除してそれをGoogleがクロールすれば、自動的に検索表示されなくなると聞きました。 しかし、データベースサイトに関してはどうなのでしょうか? ・「データベースからのデータの削除」がGoogleに対する「ページの削除」と言えるのでしょうか? ・データベースサイトで店舗名で検索すると、「検索結果0件」と表示されるようになりましたが、 これを『「検索結果0件」というページが存在している』とGoogleの巡回機能は認識し、Googleの検索結果表示から除外しないということはあるのでしょうか? ・サイト管理者側は、特定のキーワードで検索して表示されるページに対して、タグの埋め込みや404設定をおこなえるのでしょうか?(htmlファイルが存在しない場合) 以上、わかりにくい文章で申し訳ありませんが、よろしくお願いいたします。 ちなみに、「ウェブページ削除リクエストツール」によりキャッシュは削除しました。