我是新手,我取到了一个表里的数据,然后存储到DATASET里面了。我怎么把这个DATASET里的数据更新到另一张表中啊 (两个表的结构完全一样)请说详细一点 谢谢 这个问题我研究一天了 也没解决 急死我了  我是在WINFORM里面

解决方案 »

  1.   

    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); 
            }
      

  2.   

    从另一张表返回一个空查询(select * from table where 1 = 2)到DataSet dataset2中,再将dataset1中数据逐条插入到dataset2,再用dataset2保存。
      

  3.   

    为什么我 adapter.Update(ds);  的时候没反映啊  就是不更新 急啊 ————
      

  4.   

    如果自己没写更新SQL语句的话,要加上这句:
    SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(adapter);
      

  5.   

    public void UpdateDs(DataSet ds, string tableName,string str)
            {            try
                {
                   SqlConnection con = new SqlConnection("user id=sa;password=123456;initial catalog=master;data source=192.168.18.124;Connect Timeout=10");
                   con.Open();
                   SqlDataAdapter da= new SqlDataAdapter(str,con);               DataSet ds2=new DataSet();
                   da.Fill(ds2);
                   ds2 = ds;
                   SqlCommandBuilder salcb = new SqlCommandBuilder(da);
                   da.Update(ds2);
                   ds2.AcceptChanges();               // return ds;//返回更新了的数据库表
                    con.Close();
                }            catch (Exception ex)
                {            }
            }
    我的代码是这样的
      

  6.   

    ds2 = ds;这一句会有问题的,dataSet引用型,在ds2 = ds后,
    da.Update(ds2)和da.Fill(ds2)两条语句里的ds2指向的就不是同一个dataSet了,所以update的时候会有问题
    LZ自己写代码把ds里的值复制到ds2里试试~
      

  7.   

    public void UpdateDs(DataSet ds, string tableName,string str)
            {            try
                {
                   SqlConnection con = new SqlConnection("user id=sa;password=123456;initial catalog=master;data source=192.168.18.124;Connect Timeout=10");
                   con.Open();
                   SqlDataAdapter da= new SqlDataAdapter(str,con);               DataSet ds2=new DataSet();
                   da.Fill(ds2);
                   ds2 = ds;
                   SqlCommandBuilder salcb = new SqlCommandBuilder(da);
                   da.Update(ds2);
                   ds2.AcceptChanges();               // return ds;//返回更新了的数据库表
                    con.Close();
                }            catch (Exception ex)
                {            }
            }