复制代码 代码如下:
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. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. android EditText设置不可写
  4. android 使用html5作布局文件: webview跟javascript交互
  5. 《Android开发从零开始》——25.数据存储(4)
  6. android studio调试c/c++代码
  7. Android系统配置数据库注释(settings.db)
  8. Android中不同应用间实现SharedPreferences数据共享
  9. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13

随机推荐

  1. android Bitmap如何保存成为一个bmp文件
  2. 使用mysql数据库,遇到重复数据怎么处理?
  3. 设计模式之状态模式
  4. 客户端请求服务器时的状态码讲解
  5. 深入分析java中的System类
  6. 设计模式之责任链模式
  7. java多线程(1)入门知识和基础案例
  8. 设计模式之备忘录模式
  9. 面试官:手写一个选择排序并对其改进
  10. java网络编程(3)UDP协议编程(单播多播广播)