向数据库大批量数据插入时,始终保持一个连接是否更好? Asp.net中,需要向MsSql Server中插入大批量数据,是保持一个连接,通过循环不停用cmd.ExecuteNonQuery()好呢,还是每次cmd.ExecuteNonQuery()都重新打开一个连接好?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用的是前者(传数组)cmd = new SqlCommand(); SqlTransaction tr ; tr = conn.BeginTransaction(); cmd.Connection = conn; cmd.Transaction = tr; try { foreach (string Sql in strSql) { cmd.CommandText = Sql; cmd.ExecuteNonQuery(); } tr.Commit(); } catch { tr.Rollback(); } 用SqlDataAdapter.Update( dataset ) 嗯,谢谢大家了,由于使用的是存储过程,且参数很多,每次循环把cmd的parameter清空再新建就不太好,感觉浪费的时间太多,要是并发数一多,每个都保持较长时间的连接。不敢想像啊。也许, hdt(倦怠) 的方法不错,试试先,希望SqlDataAdapter在这方面的性能过得去先结了 如何操作repeater控件值的控件 输入框不为空,有没有更好的办法? 请教关于iframe里面页面跳转问题 求一提示对话框 谁能给提供像这样的范例源码,实现方法也可以,重谢! 制作 .net web 安装盘问题。 一个送分的 有关c#函数执行的问题! 一个关于duwamish运行的问题 请教高手:web页面如何实现可以编辑的表格 小问题? DataGrid中把一列转换为模板列,并加了一个验证控件后,不知道为什么.Controls[1]索引得用1了... 菜鸟问题!!一个简单的循环???
cmd = new SqlCommand();
SqlTransaction tr ;
tr = conn.BeginTransaction();
cmd.Connection = conn;
cmd.Transaction = tr;
try
{
foreach (string Sql in strSql)
{
cmd.CommandText = Sql;
cmd.ExecuteNonQuery();
}
tr.Commit();
}
catch
{
tr.Rollback();
}
由于使用的是存储过程,且参数很多,每次循环把cmd的parameter清空再新建就不太好,感觉浪费的时间太多,要是并发数一多,每个都保持较长时间的连接。不敢想像啊。
也许, hdt(倦怠) 的方法不错,试试先,希望SqlDataAdapter在这方面的性能过得去
先结了