如題     如何將調用web service返回的sal 的 DataSet寫入到Access數據庫?

解决方案 »

  1.   

    可以
    先将获取的DataSet 合并到Access获取的DataSet中,然后调用OleDbDataAdapter.Update(DataSet)来进行更新,也可以循环DataSet的表中记录insert into Access相应表
      

  2.   

    不過我用OleDbDataAdapter.Update(DataSet) 是不成功的 程序正常執行完畢updata但是就是數據庫裡面更新不進去數據。不知道是什麼原因還請各位高手幫忙解決一下用insert into Access我的表有幾十個每個表的字段也有幾十個難啊誰有什麼好的方法沒有?
      

  3.   

    你先不调用WebService,使用OleDbDataAdapter.Update(DataSet)看能否保存数据,同时你的DataSet的架构要和 WebService中获取的架构保持一致。最后再合并两个DataSet
      

  4.   

    問題解決了將web service 的data set 轉換成xml然後 access的dataset讀取xml然後更新就可以了啊
    string sqlStr = "select * from " + dataTable;
    string oleDbStr = sqlStr;
    SqlCommand mySqlComm = new SqlCommand(sqlStr,this.sqlConnection1); SqlDataAdapter mySqlDa = new SqlDataAdapter(mySqlComm);
    DataSet ds1 = new DataSet();
    mySqlDa.Fill(ds1,dataTable);
    this.DataGrid1.DataSource = ds1;
    this.DataGrid1.DataBind();
    ds1.WriteXml(Server.MapPath(dataTable + ".xml"),XmlWriteMode.WriteSchema); OleDbCommand myOleDbComm = new OleDbCommand(oleDbStr,this.oleDbConnection1);
    OleDbDataAdapter myOleDbDa = new OleDbDataAdapter(myOleDbComm);
    OleDbCommandBuilder myOleDbCd = new OleDbCommandBuilder(myOleDbDa);
    myOleDbCd.QuotePrefix = "[";
    myOleDbCd.QuoteSuffix = "]";
    DataSet ds2 = new DataSet();
    myOleDbDa.Fill(ds2,dataTable);
    this.DataGrid2.DataSource = ds2;
    this.DataGrid2.DataBind();
    ds2.Tables[dataTable].Clear();
    ds2.ReadXml(Server.MapPath(dataTable + ".xml"));
    myOleDbDa.Update(ds2, dataTable);
    this.DataGrid3.DataSource = ds2;
    this.DataGrid3.DataBind();