2016-06-27 22 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來顯示。我假設我將不得不改變的部分是上面的方法。

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() }); 
     } 

我打電話這被顯示:

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

你的問題是什麼? –

+0

實際上是什麼問題..如果你可以從單個Select語句顯示綁定到DataGridView的單個DataTable ..然後對返回多個結果的查詢做同樣的事情並將數據集存儲到列表中得到'DataSet.Tables [x]'意思是一個從0開始的整數' – MethodMan

+0

我想知道如何一次運行多個查詢。現在用我的代碼,我不得不再次用新的查詢剪貼。 – mookie

回答

0

哈哈。避免剪切和粘貼始終是個問題。這是唯一的問題!使用QueryFirst。您可以在app.config中指定一次數據源。你指定(連接,命令,閱讀器,填充)零次!它由QueryFirst管理。使用QueryFirst模板(添加 - > Visual C#項目)創建一個新的.sql文件。每個查詢都有自己的文件。然後在您的foreach中打電話給您的查詢...

每條線都有所作爲。你永遠不會重複自己。 NO CUT AND PASTE :-)

相關問題