using(DataTable dt = new DataTable()显示错误

时间:2017-03-19 08:31:59

标签: c#

这是我想要做的但是在线上使用 (DataTable dt= new DataTable())'使用'会出现错误,表明

  

'DataTable':using语句中使用的类型必须是隐式的   可转换为'System.IDisposable'

 private void  BindGrid()
    {
        string constr = ConfigurationManager.ConnectionStrings["laundarycon"].ConnectionString;
        using (SqlConnection con = new SqlConnection(constr))
        {
            using (SqlCommand cmd = new SqlCommand("select * from item"))
            {
                using(SqlDataAdapter da = new SqlDataAdapter())
                {
                    cmd.Connection = con;
                    da.SelectCommand = cmd;

                   using( DataTable dt = new DataTable())
                        {
                            da.Fill(dt);
                            DataTable dt = new DataTable();
                            GridView2.DataSource = dt;
                            GridView2.DataBind();

                        }
                }

            }
        }

    } 

2 个答案:

答案 0 :(得分:0)

无需使用,只需尝试一下,

   DataTable dt = new DataTable() 

<强>解释

DataTable实际上没有任何非托管资源。通常,当您使用IDisposable对象时,您应该在using语句中声明并实例化它。

答案 1 :(得分:0)

添加Datatable by

的引用
using System.Data;

在前几行

并删除using( DataTable dt = new DataTable())代码 只需使用

DataTable dt = new DataTable()     这部分将是那样的

using(SqlDataAdapter da = new SqlDataAdapter())
                {
                    cmd.Connection = con;
                    da.SelectCommand = cmd;

                    DataTable dt = new DataTable();
                    da.Fill(dt);                      
                    GridView2.DataSource = dt;
                    GridView2.DataBind();

                }