欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

快速插入大量數(shù)據(jù)的asp.net代碼(Sqlserver)

 更新時間:2011年02月24日 01:18:05   作者:  
目標(biāo)數(shù)據(jù)庫只能是Sqlserver 來源數(shù)據(jù)庫 無所謂 只要能用ado.net 將來源數(shù)據(jù)讀取到Dataset或者Datareader 中就可以了。
復(fù)制代碼 代碼如下:

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 指的是目標(biāo)表的名稱
<2> DataTable 的結(jié)構(gòu)要和數(shù)據(jù)庫中的表的結(jié)構(gòu)相同
(DataTable的列不能多于數(shù)據(jù)庫里面的)
(DataTable的列可以少于數(shù)據(jù)庫里面的 如果數(shù)據(jù)庫這一列有默認(rèn)值的話)
<3> 這里面 我使用了事務(wù) 您在使用的時候 也可以不用事務(wù)

相關(guān)文章

最新評論