关于DataTable的读取

其实在网上已可以找到很多这方面的内容,今天碰到了,所以来记录一下

背景

在做一个看板的设计

大致内容是:

用户任意写一个SQL语句,通过语句返回数据库内容,并显示在页面上

问题是:

由于语句的写入是不同的,搜索内容也是不同的,之前用的是List<>,但是不灵活,且无法与写入SQL语句对应,所以需要用DataTable返回。

方法:

DAL层:

 public DataTable GetTableData(string url,string SqlWords)//连接字符串&SQL语句
        {
            SqlConnection co = new SqlConnection();
            co.ConnectionString = url;
            co.Open();                                       //开启连接
            DataTable dt = new DataTable("getTableData");    //new一个dataTable
            SqlCommand cm = new SqlCommand(SqlWords, co);
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = cm;
            adapter.Fill(dt);                                //写入dataTable
            co.Close();
            if (dt.Rows.Count==0)
            {
                return null;
            }
            else
            {
                return dt;
            }

        }

BLL层:直接调用就好

 public DataTable GetTableData(string url, string SqlWords)
        {
            DAL.Spectaculars dal = new DAL.Spectaculars();
            return dal.GetTableData(url, SqlWords);
        }

控制器:同样道理

视图页:

@{
 System.Data.DataTable dt = ViewBag.dt;
}
<table class="table display" id="datatable">
    <tbody id="scrolls">
        @foreach (System.Data.DataRow items in dt.Rows)
            {
               <tr>
                     @for (int i = 0; i < dt.Columns.Count; i++)
                         {
                                 <td>
                                       @items[i]
                                 </td>
                         }
               </tr>
            }
     </tbody>

</table>

结果:

猜你喜欢

转载自blog.csdn.net/dongli5012/article/details/81281424