日期:2014-05-17  浏览次数:21081 次

c#插入两条sql语句,怎么用事务处理的方法
当我按下 button按钮后,同时向两个不同的表中插入数据
我用的事务处理的方法,具体也不清楚能用不。刚刚接触事务处理,大家帮我看看为啥不能插入成功吧
 private void buttonAdd_Click(object sender, EventArgs e)
        {
            DbCnn.con.Open();
            SqlTransaction MyTra = DbCnn.con.BeginTransaction();
            SqlCommand MyCom = new SqlCommand();
            MyCom.Connection = DbCnn.con;
            MyCom.Transaction = MyTra;
            try
            {
                string gu = Guid.NewGuid().ToString().Trim();
                MyCom.CommandText = "INSERT INTO TN_SYS_ROLE (CN_GUID,CN_S_NAME, CN_S_DESC) VALUES ('"+gu+"','"+textBox1.ToString().Trim ()+"','"+textBox2.ToString ().Trim ()+"')";
                MyCom.ExecuteNonQuery();
                MyCom.CommandText = "INSERT INTO TN_SYS_BUSINESS_TYPE(CN_GUID,CN_S_NAME)VALUES('" + gu + "','" + comboBox.ToString().Trim() + "')";
                MyCom.ExecuteNonQuery();
                MyTra.Commit();
                MessageBox.Show("成功执行");

            }
            catch (Exception )
            {
                MyTra.Rollback();
                MessageBox.Show("添加失败");
               
            }
            finally
            {
                DbCnn.con.Close();
            }


        }
c# insert sql

------解决方案--------------------
引用:
引用:你应该把两条SQL语句写到一个string中,并且两条SQL语句使用回车换行符进行分割
那样的话是这样?string str=insert into 表1..;insert into 表2???这样的话执行语句还同步吗?万一第一条语句成功了,第二条没成功呢??


放在一起,会在一个事物的执行,要么都成功,要么都失败
------解决方案