数据导入到Access有人说用事务,我在开发中用了事务还是特别慢,可能是因为Access数据库不支持批量执行SQL语句的原因吧,虽然微软建议使用ADO.NET操作数据库,但对于Access来说效率太差了,可有时候又迫不得已只能用Access,那么我们只用换一种操作数据库的方式了,这次用到了ADODB,虽然ADODB已经过时了,但它对数据库的直接操作还是要比封装好的ADO.NET快很多。下面是代码。
ADODB.Connection cn = new ADODB.Connection();
cn.ConnectionString = connectionString
cn.Open(connectionString, null, null, -1);
object dummy;
for (int n = 0; n < arrayList.Count; n++)
{
cn.Execute(arrayList[n].ToString(), out dummy, -1);
iMin = iMin + 1;
progressBar1.Value = Convert.ToInt32(iMin);
}
cn.Close();
我的27000多条数据使用ADO.NET用了6分多钟,使用ADODB用了不到20秒,可能是我技术不高没有领会到ADO.NET的精髓,但在实际应用中ADODB解决了我的问题,效果达到就行了!