程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> 疾速拔出年夜量數據的asp.net代碼(Sqlserver)

疾速拔出年夜量數據的asp.net代碼(Sqlserver)

編輯:MSSQL

疾速拔出年夜量數據的asp.net代碼(Sqlserver)。本站提示廣大學習愛好者:(疾速拔出年夜量數據的asp.net代碼(Sqlserver))文章只能為提供參考,不一定能成為您想要的結果。以下是疾速拔出年夜量數據的asp.net代碼(Sqlserver)正文



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> 這外面 我應用了事務 您在應用的時刻 也能夠不消事務
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved