我使用 ,            pDb.fillBuilder("SELECT * FROM PubProgram");
            pDb.thisAdapter.Fill(theDataSet, "PubProgram");            pDb.fillBuilder("SELECT * FROM webPost");
            pDb.thisAdapter.Fill(theDataSet, "webPost");            pDb.fillBuilder("SELECT * FROM Site");
            pDb.thisAdapter.Fill(theDataSet, "Site");把多个表的数据放在呢  theDataSet 里面呢....询问一下.我这样的存放多表数据到DataSet  中的方法对吗?
可是我在用下面的语句更新其中其一个数据表的时候却提示我找不到 其他表中的列pDb.thisAdapter.Update(theDataSet, "PubProgram");
注解:
上面的  pDb.fillBuilder()  是我自己的一个方法.
thisAdapter = new OleDbDataAdapter(query, thisConnection);
thisBuilder = new OleDbCommandBuilder(thisAdapter);

解决方案 »

  1.   

    public   DataSet   CreateCmdsAndUpdate(DataSet   myDataSet,string   myConnection,string   mySelectQuery,string   myTableName)    
      {  
              OleDbConnection   myConn   =   new   OleDbConnection(myConnection);  
              OleDbDataAdapter   myDataAdapter   =   new   OleDbDataAdapter();  
              myDataAdapter.SelectCommand   =   new   OleDbCommand(mySelectQuery,   myConn);  
              OleDbCommandBuilder   custCB   =   new   OleDbCommandBuilder(myDataAdapter);  
       
              myConn.Open();  
       
              DataSet   custDS   =   new   DataSet();  
              myDataAdapter.Fill(custDS);  
       
              //code   to   modify   data   in   dataset   here  
       
              myDataAdapter.Update(custDS,   myTableName);  
       
              myConn.Close();  
       
              return   custDS;  
        }
      

  2.   

    http://www.cnblogs.com/jhtchina/articles/187024.html
      

  3.   

    可是你的方法只是不一个表读入到  DataSet  里面去..
    我需要的是.把多个表读到DataSet里面去.......并更新其中一个表....
    我用我现在的方法.把多个表读到DataSet  里面去后......用Updata 更新其中一个表的化..就提
    示找不到其他表的列
      

  4.   

    找到原因呢...是thisAdapter = new OleDbDataAdapter(query, thisConnection);
    thisBuilder = new OleDbCommandBuilder(thisAdapter);这里的关系.