SqlCommand cmd=new SqlCommand("XXX","xxx");我用如上查询出来的数据如果填充到DataTable中呢?

解决方案 »

  1.   

    var reader=cmd.ExecuteReader();
    DataTable dt=new DataTable("dt");
    dt.Columns.Add("c1");
    dt.Columns.Add("c2");
    dt.Columns.Add("c3");while(reader.Read()){
      dt.Rows.Add(reader.GetString(0),reader.GetString(1),reader.GetString(2));
    }简单代码示意图
      

  2.   


            /// <summary>
            /// 传入SQL语句返回DataTable
            /// </summary>
            /// <param name="sql">SQL语句</param>
            /// <returns>数据表</returns>
            public DataTable GetDataTable(string sql)
            {
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                DataTable dt = new DataTable();
                sda.Fill(dt);
                dt.Dispose();
                return dt;
            }
      

  3.   

    如果是使用的,DataSet模型,那么你就注意调用 SqlDataAdapter 对象的 Fill(...)方法,或者
    DataTable dt=GetData();
      

  4.   

    string connecttionString="Data Source=.;Initial Catalog=abc;Persist Security Info=True;User ID=sa;Password=123456"; 
    SqlCommand cmd = new SqlCommand(); 
                  cmd.CommandText = "select * from  abc  where ID="+在这里写要查询的ID;             DataSet ds = new DataSet(); 
                using (SqlConnection conn = new SqlConnection(connecttionString)) 
                { 
                  cmd.Connection = conn;                 SqlDataAdapter adapter = new SqlDataAdapter(); 
                    adapter.SelectCommand = cmd;                 adapter.Fill(ds); 
                } 
                DataTable table = ds.Tables; 
      dataGridView1.DataSource=table ; 如果是Bs就是Web里加上这个dataGridView1.DataBind(); 
    否则不用的