我从SQL上取出一个表,合并到ACCESS表上(两个表结构是一样的),为什么更新不到ACCESS上???返回的DATASET里已经是合并后的值了,下面语句是有错误吗?参数分别为SQL上获得的表的DATASET,本地ACCESS查询的语句(和SQL上是一样的),ACCESS表上需要设为主键的字段名public DataSet OleBusinessUpdate(DataSet sqlDataSet,string strSql,string strPrimary)
{
DataSet theDataSet=new DataSet();
OleDbConnection theConnection = new OleDbConnection(olecnn);
theConnection.Open(); OleDbDataAdapter theAdapter = new OleDbDataAdapter();
theAdapter.SelectCommand = new OleDbCommand(strSql, theConnection); OleDbCommandBuilder theBuilder = new OleDbCommandBuilder(theAdapter ); theAdapter.FillSchema(theDataSet, SchemaType.Mapped); theAdapter.Fill(theDataSet);
DataColumn[] myColArray = new DataColumn[1];
myColArray[0] = theDataSet.Tables[0].Columns[strPrimary];
theDataSet.Tables[0].PrimaryKey = myColArray; theDataSet.Merge(sqlDataSet.Tables[0]);
theAdapter.Update(theDataSet.Tables[0]);
return theDataSet;
}
{
DataSet theDataSet=new DataSet();
OleDbConnection theConnection = new OleDbConnection(olecnn);
theConnection.Open(); OleDbDataAdapter theAdapter = new OleDbDataAdapter();
theAdapter.SelectCommand = new OleDbCommand(strSql, theConnection); OleDbCommandBuilder theBuilder = new OleDbCommandBuilder(theAdapter ); theAdapter.FillSchema(theDataSet, SchemaType.Mapped); theAdapter.Fill(theDataSet);
DataColumn[] myColArray = new DataColumn[1];
myColArray[0] = theDataSet.Tables[0].Columns[strPrimary];
theDataSet.Tables[0].PrimaryKey = myColArray; theDataSet.Merge(sqlDataSet.Tables[0]);
theAdapter.Update(theDataSet.Tables[0]);
return theDataSet;
}
解决方案 »
- OracleDataReader reader = cmd.ExecuteReader();
- C#问一个tcpclient问题
- 那位大侠能提供房屋拆迁管理的需求方案,加急!!!
- datagird中嵌套dropdownlist,dropdownlist的当前值为选定值
- 向高手请教:listview 的行移动后,其行的背景颜色没了
- 库表设计问题:一对一关系的两个实体,是不是必须建一个数据表来实现?
- 【散分】原创论坛准备发布,大家提意见
- .NET类库之间的关系
- 在一个弹出的窗口界面,实现下载功能。
- 求教面试问题该如何回答 月薪20K
- 如何引用已经存在的dll文件的方法
- 怎样使用C#读取由空格分开的单词序列中的每个单词?
这个不是会自动生成更新语句吗?