我先建立了个dataset 数据集,通过sqladapter把数据库一表中的数据填充到数据集。现在问题是我更新了这个数据集(删除/修改等),如何把数据集写到数据库表中,完成数据库的更新呢?谢谢了。谢谢给出代码。搞定就散分。在线等一天。

解决方案 »

  1.   

    DataSet的SchemaDataSet ds;
    foreach(DataColumn dc in ds.Tables[0].Columns)
    {
    foreach(DataRow dr in ds.Tables[0].Rows)
    {
                           dr[dc,DataRowVersion.Current];//取原始值或者当前值DataRowVersion取不同枚举值
    dr.RowState==DataRowState.Added;//是否发生改变。增删改,DataRowState取不同枚举值
    }
    }
      

  2.   

    deadshot123(随风缘) 我想知道如何把更新后的数据集写到数据库表中去,完成数据集和数据库的同步。
      

  3.   

    我是这样写的
    public partial class BindingContextTest : Form
    {
    DataSet ds;
    SqlDataAdapter sda;
    SqlConnection con;
    public BindingContextTest()
    {
    InitializeComponent();
    }private void BindingContextTest_Load(object sender, EventArgs e)
    {
    //连接数据库
    con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
    sda = new SqlDataAdapter("select * from studentInfor", con);
    //sda.SelectCommand = new SqlCommand("select * from studentInfor", con);
    ds = new DataSet();
    sda.Fill(ds, "student");
    DataTable dt = ds.Tables["student"];
    string s = dt.Rows[0][0].ToString();
    //数据绑定
    this.txtSno.DataBindings.Add("Text", ds, "student.sno");
    this.txtSname.DataBindings.Add("Text", ds, "student.sname");
    this.txtAge.DataBindings.Add("Text", ds, "student.sage");
    }然后删除了ds.tables中的一行。
    问下面该如何把新的tables写到数据库的table呢?
      

  4.   

    上述代码如果从table中删除了一行信息,下面代码可否完成对数据库的更新。高手指点 
    DataSet ds1=new DateSet();
    ds1=(DataSet)(ds.GetChanges());
    SqlCommandBuilder builder = new SqlCommandBuilder(sda);
    sda.UpdateCommand = builder.GetUpdateCommand();
    sda.Update(ds1.Tables["student"]);
      

  5.   

    ?  我是这样写的
    public partial class BindingContextTest : Form
    {
    DataSet ds;
    SqlDataAdapter sda;
    SqlConnection con;
    public BindingContextTest()
    {
    InitializeComponent();
    }private void BindingContextTest_Load(object sender, EventArgs e)
    {
    //连接数据库
    con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
    sda = new SqlDataAdapter("select * from studentInfor", con);
    //sda.SelectCommand = new SqlCommand("select * from studentInfor", con);
    ds = new DataSet();
    sda.Fill(ds, "student");
    DataTable dt = ds.Tables["student"];
    string s = dt.Rows[0][0].ToString();
    //数据绑定
    this.txtSno.DataBindings.Add("Text", ds, "student.sno");
    this.txtSname.DataBindings.Add("Text", ds, "student.sname");
    this.txtAge.DataBindings.Add("Text", ds, "student.sage");
    }
    我是通过this.BindingContext[ds,"student"].AddNew();来增加了一行新的数据。
    怎么把这个增加了的ds,写到数据库student表中呢。大家帮帮我啦。。感谢。。