ACCESS批量修改提交

本文介绍了一种通过批量更新来优化Access数据库数据清洗过程的方法。利用OleDbDataAdapter和OleDbCommandBuilder组件,实现了从读取数据到更新数据源的完整流程,有效提升了处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先放几个链接,要细致研究的时候再看:

Inside ADO.NET Batch Update
http://msdn.microsoft.com/en-us/library/ms810297.aspx

使用 DataAdapter 更新数据源
http://msdn.microsoft.com/zh-cn/library/33y2221y(v=VS.80).aspx#Y1161

Use DataTable to update table in Database
http://www.java2s.com/Code/CSharp/Database-ADO.net/UseDataTabletoupdatetableinDatabase.htm

C# 数据库批量更新问题
http://zhidao.baidu.com/question/126951488.html

做了一个小工具,用来清洗ACCESS的数据,原来的方法是取全表,然后遍历每一行,再两个正则表达式匹配,再UPDATE该行,效率比较低,一千五百多条的数据,就要花费一分钟。

考虑用批量UPDATE改进,理论上应该能够减少IO,大大提高效率。(当然结果也证明了,效率大幅提高,原有的千多条数据,不出三秒就完成了。^_^)

粘上代码,以备以后查阅:

OleDbConnection DataConnection = new OleDbConnection(DBFile);
string selectSQL = "SELECT ID, 原出版社, 原书名, 出版社, 版次, 出版日期, 书名, 装帧 FROM Content";
DataConnection.Open();
OleDbDataAdapter da = new OleDbDataAdapter(selectSQL,  DataConnection );
DataTable rawData = new DataTable ();
da.Fill(rawData);
DataConnection.Close();

Regex regPress = new Regex(@"");

for (i = 0; i < rawData.Rows.Count; i++)
{
	// if match 1
            rawData.Rows[i]["出版社"] = ;
}

OleDbCommandBuilder odbCB = new OleDbCommandBuilder(da);    // 这句是关键
da.Update(rawData);

转载于:https://www.cnblogs.com/miuq/archive/2011/03/07/1974404.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值