是这样的,我怎么把dataset里面的数据更新到多个表里面呢?(dataset里面的字段有:学号,学生姓名,课程名,学期,成绩,教师,我想把datagridview里面修改过的值通过dataset更新到学生表,课程表,成绩三个表里面)OracleCommandBuilder builder = new OracleCommandBuilder(dataAdapter);
dataAdapter.Update(dataSet, tableName);
这样的话只能更新单个表tablename啊? 

解决方案 »

  1.   

    更新多个表时 需要自己写dataAdapter的updateCommand、DeleteCommand、InsertCommand属性
    不能用oracleCommandBuilder
      

  2.   

    DataSet ds = new DataSet();
    SqlDataAdapter sda;SqlCommandBuilder scb = new SqlCommandBuilder(sda);
    sda.Update(ds);
    this.dataGridView1.DataSource = ds.Tables[0];
      

  3.   

    ad.UpdateCommand=new SqlCommand("update 表名1 set StuName=@name where No=@id",conn);
    //更新数据库中的某一个表(表名1)ad.UpdateCommand.Parameters.Add(new SqlParameter("@name",类型)).SourceColunm="学生姓名";//sourceColunm对应Dataset中的tablename中的列
    ad.UpdateCommand.Parameters["@name"].SourceVersion=DataRowVersion.Current;
    //行版本为  当前行
    ad.UpdateCommand.Parameters.Add(new SqlParameter("@id",类型)).SourceColunm="学号";
    //sourceColunm对应dataset中的tablename中的列
    ad.UpdateCommand.Parameters["@id"].SourceVersion=DataRowVersion.original;
    //行版本为 原始行楼主说的“这样的话只能更新单个表tablename啊?”指的应该是 只能更新物理数据库中的单个表吧。。