在不同的数据表中显示SQL结果

本文关键字:显示 SQL 结果 数据表 | 更新日期: 2023-09-27 17:52:52

因此,我编写了这个方法来用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" /> 

在不同的数据表中显示SQL结果

哈哈。避免剪切和粘贴一直是一个问题。这是唯一的问题!

QueryFirst使用。在app.config中指定数据源一次。您指定(连接、命令、读取器、填充)0次!它由QueryFirst管理。使用QueryFirst模板(添加-> Visual c# Items)创建一个新的.sql文件。每个查询都有自己的文件。然后在foreach中调用查询…

foreach(var item in GetAllSamples.Execute())
{
    //... do something.
}

每一行都有作用。你从不重复自己的话。禁止剪切粘贴:-)