当前位置: 移动技术网 > IT编程>数据库>MSSQL > 快速插入大量数据的asp.net代码(Sqlserver)

快速插入大量数据的asp.net代码(Sqlserver)

2017年12月12日  | 移动技术网IT编程  | 我要评论

贵州省地方税务局网上报税系统,巴拉圭首都,橡胶密封圈规格

复制代码 代码如下:

using system.data;
using system.diagnostics;
using system.data.sqlclient;
   
string connectionstring = "data source=hg-j3ejj9lsw5py;initial catalog=test;user id=sa;password=hg";
datatable datatable = sql_.select_datagrid(" select a from large where 1=0 ").tables[0];
string passportkey;
for (int i = 0; i < 100000; i++)
{
passportkey = guid.newguid().tostring();
datarow datarow = datatable.newrow();
datarow[0] = passportkey;
datatable.rows.add(datarow);
}
sqlconnection sqlconnection = new sqlconnection(connectionstring);
sqlconnection.open();
sqltransaction sqltran = sqlconnection.begintransaction();
sqlbulkcopy sqlbulkcopy = new sqlbulkcopy(sqlconnection, sqlbulkcopyoptions.keepidentity, sqltran);
sqlbulkcopy.destinationtablename = "large";
sqlbulkcopy.batchsize = datatable.rows.count;
if (datatable != null && datatable.rows.count != 0)
{
sqlbulkcopy.writetoserver(datatable);
}
sqlbulkcopy.close();
sqltran.rollback();
sqlconnection.close();

注解: <1> sqlbulkcopy.destinationtablename = "large"; large 指的是目标表的名称
<2> datatable 的结构要和数据库中的表的结构相同
(datatable的列不能多于数据库里面的)
(datatable的列可以少于数据库里面的 如果数据库这一列有默认值的话)
<3> 这里面 我使用了事务 您在使用的时候 也可以不用事务

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网