我想使用DataSet更新访问数据库。 DataSet读取一个xml,然后使用DataAdapter Update函数的更新尝试更新数据库。使用数据集,从XML文件datadapter更新任何数据源
下面是代码
OleDbConnection connection = new OleDbConnection(this.ConnectionString);
connection.Open();
var adapter = new OleDbDataAdapter("SELECT TOP 1 * FROM Customer", connection);
adapter.ContinueUpdateOnError = true;
var dataSet = new DataSet();
dataSet.ReadXml("Update.xml");
OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(adapter);
foreach (DataRow row in dataSet.Tables[0].Rows)
{
row.AcceptChanges();
row.SetModified();
}
var result = adapter.Update(dataSet, "Customer");
这里是XML
<NewDataSet>
<Customer>
<ID>1</ID>
<CustomerName>Customer 1</CustomerName>
</Customer>
<Customer>
<ID>2</ID>
<CustomerName>Customer 2</CustomerName>
</Customer>
</NewDataSet>
(1,2)存在于Access数据库的ID。我试图更新它们.. 更新函数返回2,这是更新的行数,但我没有看到访问数据库中的更新。 ID字段是自动递增
但是,如果我运行下面的
foreach (DataRow row in dataSet.Tables[0].Rows)
{
row["CustomerName"] = "Hi";
}
var result = adapter.Update(dataSet, "Customer");
然后,更新获取database.Please正确refelected帮助