【ASP.NET・C#】Datasetの作成とデータ参照 ②
【今回の紹介】
前回のメモをもう少しわかりやすく整理した。
【内容】
具体的には、
1.StringBuilderの使用
加えて、sql生成を高速に文字結合が行えるといわれているStringBuilderを使用するように修正。
※もちろんこんな短いsqlでは意味がないが。笑
今現在所属するpjでもこの文字列結合クラスでは推奨されて使用されている。。
StringBuilderを使用してsqlを使って生成することについて
http://www.atmarkit.co.jp/fdotnet/dotnettips/029strcat/strcat.html
http://kuroeveryday.blogspot.jp/2014/06/SqlDtringBuilder.html
2.列名の指定
asで今回は指定した。
前回紹介したようにしたようにtablesetのプロパティに格納されている
colmnクラスの値を変更すれば、列名を変更できるだろう。
asで指定して変更するのか、それとも直接プロパティを書き換えていくのか
どんな違いがあるのか今度調べてみる
3.datatableのみで書く
sql実行結果を表示させたいオブジェクトに対して、データソースを設定する際は、
datatableを渡すだけも実行できるよう
以下、参考ソース
//db接続情報の設定 string dbcn = ConfigurationManager.AppSettings["con.str"]; //sqlの設定 StringBuilder strb = new StringBuilder(); strb.Append("select A as "); strb.Append(" \"1番目\" "); strb.Append(",B as "); strb.Append(" \"2番目\" "); strb.Append(" from table_1 "); //string sql = "select A as 1盤目 ,D as 2盤目 from table_2"; //datatableを設定 テーブルのデータをいれる箱 DataTable dt = new DataTable(); //テーブルからデータを取得してきてくれるdatatableを取得 テーブルから接続情報と抽出条件をもとにデータを取得するポンプ SqlDataAdapter da = new SqlDataAdapter(strb.ToString(),dbcn); //sqlを実行し、結果をdatatableに格納する da.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind();
<body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </form> </body>