c# winform 如何批量更新数据库数据

c# winform 如何批量更新数据库数据,第1张

在处理百万级的数据方面,也不一定需要存储过程,用C#一样可以;ADO.NET提供了常用对象即可解决,就是数据适配器,在处理海量数据的时候,表现还是可圈可点的。先指定参数,接着一个循环,例:for (int i = 0i <100i++)

{

dataset.Tables[0].Rows[i].BeginEdit()

dataset.Tables[0].Rows[i]["time"] = "2222-22-22 22:22:22"

dataset.Tables[0].Rows[i]["value"] = 100

dataset.Tables[0].Rows[i]["id"] = "ID"+(i+10000)

dataset.Tables[0].Rows[i].EndEdit()

}接着一次提交更新就OK了数据适配器.Update(dataset.Tables[0])然后释放资源,把数据集合适配器的资源都释放掉,连接也返回池中。dataset.Tables[0].Clear()

适配器.Dispose

dataset.Dispose要注意的是,你在取记录填充到数据集里面的时候,不要一次去提取100万条,那样你的数据库引擎会不堪重负的。要根据你的硬件配置,每次提取适量的数据,如果配置不是很高,一次提取个500-600就行了,这样很快就能把数据在循环中处理完毕而不是卡到CPU暴涨直到死机。

1.采用独占方式进行连接:

"Driver={Microsoft Access Driver (*.mdb)}DBQ=C:\App1\你的数据库名.mdbExclusive=1Uid=你的用户名Pwd=你的密码"

MS ACCESS OLEDB &OleDbConnection (.NET下的OleDb接口)进行链接

2.普通方式(最常用)连接ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdbUser Id=adminPassword="

3.使用工作组方式(系统数据库)连接ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdbJet OLEDB:System Database=c:\App1\你的系统数据库名.mdw"

4.连接到带有密码的ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdbJet OLEDB:Database Password=你的密码"

5.连接到处于局域网主机上的ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=\\Server_Name\Share_Name\Share_Path\你的数据库名.mdb"

6.连接到处于远程服务器上的ACCESS数据库:

"Provider=MS RemoteRemote Server=http://远程服务器IPRemote Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdb"

MS ACCESS ODBC开放式接口连接字符串

7.标准链接:

"Driver= {MicrosoftAccessDriver(*.mdb)}DBQ=C:\App1\你的数据库名.mdbUid=你的用户名Pwd=你的密码"

如果ACCESS数据库未设置用户名和密码,请留空。下同。

8.WorkGroup方式(工作组方式)连接:

"Driver={Microsoft Access Driver (*.mdb)}Dbq=C:\App1\你的数据库名.mdbSystemDB=C:\App1\你的数据库名.mdw"

9.采用独占方式进行连接:

"Driver={Microsoft Access Driver (*.mdb)}DBQ=C:\App1\你的数据库名.mdbExclusive=1Uid=你的用户名Pwd=你的密码"

MS ACCESS OLEDB &OleDbConnection (.NET下的OleDb接口)进行链接

10.普通方式(最常用)连接ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdbUser Id=adminPassword="

11.使用工作组方式(系统数据库)连接ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdbJet OLEDB:System Database=c:\App1\你的系统数据库名.mdw"

12.连接到带有密码的ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdbJet OLEDB:Database Password=你的密码"

13.连接到处于局域网主机上的ACCESS数据库:

"Provider=Microsoft.Jet.OLEDB.4.0Data Source=\\Server_Name\Share_Name\Share_Path\你的数据库名.mdb"

14.连接到处于远程服务器上的ACCESS数据库:

"Provider=MS RemoteRemote Server=http://远程服务器IPRemote Provider=Microsoft.Jet.OLEDB.4.0Data Source=c:\App1\你的数据库名.mdb"

要知道对方的公网IP地址,连接的字符串中IP地址换为对方的公网IP就可以了,当然前提是对方的电脑还要开放1433端口,那个是SQL Server数据库连接的默认端口。

你可以先用telent 211.22.31.1 1433 假设对方的IP是211.22.31.1,这个是用来测试你能否连接到对方的1433端口上,如果能联入,说明两端的电脑的逻辑连接配置是对的,你程序写好IP就行了,否则要对方配置端口映射、和开启防火墙的配置。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10036980.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存