2016-06-27 17 views
0

この方法を書いて、SQLクエリでデータテーブルを埋めます。理想的には、自分のページの複数のクエリを自分のテーブルに表示する方法を学びたいと思っています。異なるデータテーブルにSQL結果を表示

private DataTable GetOdbcData() 
    { 
     string connectionString = "dsn=sample;UID= user;PWD=password"; 
     using (OdbcConnection conn = new OdbcConnection(connectionString)) 
     { 
      using (OdbcCommand cmd = new OdbcCommand("select * from sample")) 
      { 
       using (OdbcDataAdapter oda = new OdbcDataAdapter()) 
       { 
        cmd.Connection = conn; 
        conn.Open(); 
        oda.SelectCommand = cmd; 
        using (DataTable dt = new DataTable()) 
        { 
         oda.Fill(dt); 
         return dt; 
        } 
       } 
      } 
     } 
     } 

私はこのコードをHTMLに変換して表示します。私は変えなければならない部分が上記の方法であると仮定しています。母

<asp:PlaceHolder ID = "Table" runat="server" /> 
+3

あなたの質問は何ですか? –

+0

実際に何が問題なのですか?単一のSelect文からDataGridViewにバインドされた単一のDataTableを表示できる場合は、複数の結果を返すクエリで同じことを実行し、リストにデータセットを格納します 'DataSet.Tables [x]'で取得することを意味するxは0から始まる整数です – MethodMan

+0

一度に複数のクエリを実行する方法を知りたいと思います。今すぐ私のコードで、私は新しいクエリでそれをもう一度カットアンドペーストする必要があります。 – mookie

答えて

0

:私はこれを呼んでいる

if (!IsPostBack) // code to run at page load 
     { 
      // create a DataTable from our database 
      DataTable dt = this.GetOdbcData(); 

      // to create an HTML string 
      StringBuilder html = new StringBuilder(); 

      // table start 
      html.Append("<table class='table table-striped' margin-left='auto'>"); 

      // creates header row of table 
      html.Append("<tr>"); 
      foreach (DataColumn column in dt.Columns) 
      { 
       html.Append("<th>"); 
       html.Append(column.ColumnName); 
       html.Append("</th>"); 
      } 
      html.Append("</tr>"); 

      // rows for data 
      foreach (DataRow row in dt.Rows) 
      { 
       html.Append("<tr>"); 
       foreach (DataColumn column in dt.Columns) 
       { 
        html.Append("<td>"); 
        html.Append(row[column.ColumnName]); 
        html.Append("</td>"); 
       } 
       html.Append("</tr>"); 
      } 

      // table end 
      html.Append("</table>"); 

      // append the HTML string to name Table. 
      Table.Controls.Add(new Literal { Text = html.ToString() }); 
     } 

はによって示されます。カットアンドペーストを避けることは常に問題です。唯一の質問です!

QueryFirstを使用してください。 app.configでデータソースを一度指定します。あなたは(接続、コマンド、リーダー、塗りつぶし)を0回指定します!それはQueryFirstによって管理されます。 QueryFirstテンプレート([追加] - > [ビジュアルC#アイテム])を使用して新しい.sqlファイルを作成します。各クエリは独自のファイルを取得します。あなたのforeachの中であなたの質問を呼んでください...

すべての行が何かします。あなたは決して繰り返さない。 NO CUT AND PASTE :-)

関連する問題