C# SQL事务处理时整个表被占用,求解决方法!

冬夜 2012-04-03 10:35:55
c# winform程序在进行SQL事务处理过程时,整个表被占用,其它程序进程访问时被挂起,求解决方法?
 private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("server= .\\SQLEXPRESS;uid=testuser1;pwd=test123;database=manage");
conn.Open();
SqlCommand cmd = new SqlCommand();

SqlTransaction sqltran = conn.BeginTransaction();
cmd.Connection = conn;
cmd.Transaction = sqltran;

try
{
for (int i = 0; i < 99999; i++)
{
cmd.CommandText ="UPDATE [newplan] SET [dept] = '" + i + "' WHERE [number]='11'";
cmd.ExecuteNonQuery();
txt_number.Text = i.ToString();

}
sqltran.Commit();

}
catch
{
sqltran.Rollback();
}
finally
{
conn.Close();
}
...全文
202 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
startstartsvip 2012-04-03
  • 打赏
  • 举报
回复
看完了一身冷汗,还能这样用

还有很多东西要学啊

前几天我一直把那个 Transaction 写在存储过程里
冬夜 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
重复10万次同一个数据库操作有意义么?你是故意想让CPU烧掉、故意想让机器死机?
[/Quote] 学习中,想看下事务处理过程中 ,对其它线程访问的影响。

另外再请教下 SQL默认的超时时间是多少?
  • 打赏
  • 举报
回复
重复10万次同一个数据库操作有意义么?你是故意想让CPU烧掉、故意想让机器死机?
jointan 2012-04-03
  • 打赏
  • 举报
回复
用更新的ID和新值,创建临时表

启动事务,创建内联接更新,执行,提交.

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧