SqlDataAdapter sda = new SqlDataAdapter();
sda.Fill(ds);

解决方案 »

  1.   


     public DataSet DBReturnTable()
        {
            DataSet ds = new DataSet();
            DataTable dt = this.dt();        string constr = System.Configuration.ConfigurationSettings.AppSettings["connstring"];        SqlConnection DefSqlCon = new SqlConnection(constr);
         
            string sql3= "select * from test2";
           SqlDataAdapter sda = new SqlDataAdapter(sql3, DefSqlCon);
           sda.Fill(ds);
          
           dt.Rows.Add(sda);
           ds.Tables.Add(dt);
            return ds;
            }
      

  2.   

    如果照你这样,我把下面的这些代码注释掉也行啊,那有啥用?能解释一下吗?protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                this.GridView1.DataSource = DBReturnTable();
                this.GridView1.DataBind();
            }
        }//  private DataTable dt()
       // {
       //     DataTable dt = new DataTable();
       //     dt.Columns.Add(new DataColumn("Option"));
        //    dt.Columns.Add(new DataColumn("ID"));
        //    dt.Columns.Add(new DataColumn("Title"));
        //    dt.Columns.Add(new DataColumn("Phone"));
         //   dt.Columns.Add(new DataColumn("Address"));
          //  return dt;
       // }
        public DataSet DBReturnTable()
        {
            DataSet ds = new DataSet();
           // DataTable dt = this.dt();        string constr = System.Configuration.ConfigurationSettings.AppSettings["connstring"];        SqlConnection DefSqlCon = new SqlConnection(constr);
         
            string sql3= "select * from test2";
            SqlCommand cmd = new SqlCommand(sql3, DefSqlCon);
           SqlDataAdapter sda = new SqlDataAdapter();
           sda.SelectCommand = cmd;
            sda.Fill(ds);       //dt.Rows.Add(sda);
          // ds.Tables.Add(dt);
            return ds;
            }
      

  3.   

    //  private DataTable dt()
       // {
       //     DataTable dt = new DataTable();
       //     dt.Columns.Add(new DataColumn("Option"));
        //    dt.Columns.Add(new DataColumn("ID"));
        //    dt.Columns.Add(new DataColumn("Title"));
        //    dt.Columns.Add(new DataColumn("Phone"));
         //   dt.Columns.Add(new DataColumn("Address"));
          //  return dt;
       // }
    这个是建立临时的datatable也就是说表存在内存中的
      

  4.   

    没有他也能在gridview中显示数据那有什么区别?或者说在什么情况下区别最明显?
      

  5.   

    没有填充数据集呀
    sda.Fill(ds);
      

  6.   

    楼主搞清楚sqladdapter的用法。他是数据桥梁。dataset才是数据集,你要把数据存在dataset里
      

  7.   

     private DataTable dt()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Option"));
            dt.Columns.Add(new DataColumn("ID"));
            dt.Columns.Add(new DataColumn("Title"));
            dt.Columns.Add(new DataColumn("Phone"));
            dt.Columns.Add(new DataColumn("Address"));
            return dt;
        }
    在这段代码中.新建的数据表中列中(例如:Option)中无类型.在其后加一类型.typeof(string)