DataSet ds = null;
SqlDataAdapter adapter = null;
SqlCommandBuilder sqlbuilder = null;//该按钮读取数据,并绑定数据
private void button1_Click(object sender, EventArgs e)
        ...{
            ds = new DataSet();
            SqlConnection cn = new SqlConnection("Data Source=.;User ID=sa;Password=0;Initial Catalog=BMIS");
            SqlCommand cm = new SqlCommand();
            adapter = new SqlDataAdapter(cm);
            sqlbuilder = new SqlCommandBuilder(adapter);
            cm.Connection = cn;
            cm.CommandType = CommandType.Text;
            cm.CommandText = "select * from [providerInfo]";
            adapter.Fill(ds);          //该方法把得到的数据放入一个DataTable中
            dataGridView1.DataSource = ds.Tables[0];    把数据绑定到DataGridView
        }//向数据库返回修改的数据.
private void button2_Click(object sender, EventArgs e)
        ...{
            adapter.Update(ds); 
        }

解决方案 »

  1.   

    to [wt3056] 
    谢谢你的回答,可是你的代码里,好像没有我说的意思。我的意思是,我新建了一个datatable,要把这个datatable里的数据存到数据库中的和这个新建的datatable的格式一样的表中。
      

  2.   

    为什么要新建了一个datatable呢?
    要得到一个空的datatable的话就这样写:
    cm.CommandText = "select * from [providerInfo]" where 1<>1;
      

  3.   

    使用DataTable.Update方法进行批处理更新。
    参考例子,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx