java中对批量数据处理有一个常用方法: String userSql = "insert into XXXX";
con.setAutoCommit(false);
pstm = con.prepareStatement(userSql);
for (int i = 1; i <= 1000000; i++) {
pstm.addBatch();
if (i % 10000 == 0 && i != 0) {
pstm.executeBatch();
}
}
con.commit();
con.setAutoCommit(true);
使用.net多日,一直找不到类似的批处理方法,不知道有无相同方法
con.setAutoCommit(false);
pstm = con.prepareStatement(userSql);
for (int i = 1; i <= 1000000; i++) {
pstm.addBatch();
if (i % 10000 == 0 && i != 0) {
pstm.executeBatch();
}
}
con.commit();
con.setAutoCommit(true);
使用.net多日,一直找不到类似的批处理方法,不知道有无相同方法
解决方案 »
- 窗体之间函数相互调用的问题
- C# GDI+内存使用太大
- 关于C#的问题。
- 有什么简单的方法,把动态数组A的值,导入到动态数组B中吗?
- C# 字符串转换成byte数组问题
- WinCE 下面如何用C#调用 window media player
- Krypton Form Project 谁用过!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *********工作线程和主线程的通信问题***********急急急!!!!
- 序列化对象保存在硬盘上,造成内存一直在涨.有人碰到过这个问题吗?
- DataGride里的HyperLinkColumn 如何URL加密?
- 讨教一个报错,c#写的程序无法浏览。
- 一个诡异的Excel读值问题
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">SQL语句组</param>
public static void ExecuteSqlTran(ArrayList SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
for (int n = 0; n != SQLStringList.Count; ++n)
{
string strsql = SQLStringList[n].ToString();
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
cmd.ExecuteNonQuery();
}
}
tx.Commit();
}
catch (SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}