//建立连接并打开
            SqlConnection myConn = GetConn();
       myConn.Open();       SqlCommand myComm = new SqlCommand();
       SqlTransaction myTran;       //创建一个事务
            myTran = myConn.BeginTransaction();
       
            //下面绑定连接和事务对象
            myComm.Connection = myConn;
       myComm.Transaction = myTran;       try
       {
        //定位到Test数据库
                myComm.CommandText = "USE pubs";
         myComm.ExecuteNonQuery();         myComm.CommandText = "UPDATE dbo.discounts SET lowqty = lowqty * 3.0";
         myComm.ExecuteNonQuery();
         //下面使用创建数据库的语句制造一个错误
                myComm.CommandText = "Create database testdb";
         myComm.ExecuteNonQuery();         myComm.CommandText = "UPDATE dbo.discounts SET lowqty = lowqty * 1.0";
         myComm.ExecuteNonQuery();         //提交事务
                myTran.Commit();
         MessageBox.Show("成功");
        }
        catch (Exception err)
        {
           myTran.Rollback();
           MessageBox.Show("事务操作出错,已回滚。系统信息:" + "\n" + err.Message);
           //Console.Write("事务操作出错,已回滚。系统信息:" + err.Message);
         }
         finally
            {
                myConn.Close();
                myTran.Dispose();
                myComm.Dispose();
            }      
 myTran.Rollback();我写不写这句话,数据库中的表dbo.discounts 都不会被修改,那myTran.Rollback();还有什么用~
或者是我写的有问题?