读书人

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

发布时间: 2012-04-30 22:33:26 作者: rapoo

C# SQL事务处理时整个表被占用,求解决方法!
c# winform程序在进行SQL事务处理过程时,整个表被占用,其它程序进程访问时被挂起,求解决方法?

C# code
 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();            }


[解决办法]
用更新的ID和新值,创建临时表

启动事务,创建内联接更新,执行,提交.
[解决办法]
重复10万次同一个数据库操作有意义么?你是故意想让CPU烧掉、故意想让机器死机?
[解决办法]
看完了一身冷汗,还能这样用

还有很多东西要学啊

前几天我一直把那个 Transaction 写在存储过程里

读书人网 >C#

热点推荐