C#使用事务的时候获取提交之前的数据!

来源:互联网 发布:汉诺塔步数 python 编辑:程序博客网 时间:2024/06/05 21:10

一直以来都有一个疑问,就是我们在C#下使用事务的时候我假如我有一个自增列,首先我添加一行数据到数据库,然后我下一步的时候需要刚刚添加的这个记录的自增列,我就想不提交的时候能不能获取到呢!事实证明是可以的!


Console.WriteLine("*****************C#事务使用********************");            SqlConnection mycon = new SqlConnection("server=.;database=FeiYuDB;user id=sa;password=he");            SqlTransaction mytran = null;            try            {                mycon.Open();                mytran = mycon.BeginTransaction();                SqlCommand cmd = new SqlCommand();                cmd.Connection = mycon;                cmd.Transaction = mytran;                cmd.CommandText = "INSERT INTO dbo.product_category\r\n";                cmd.ExecuteNonQuery();//执行之后我就是想判断一下这个时候数据库里边有没有这个数据                SqlCommand cmd_GetID = new SqlCommand();                cmd_GetID.Transaction = mytran;                cmd_GetID.Connection = mycon;                cmd_GetID.CommandText = "SELECT COUNT(*) FROM  WHERE category_name='测试产品';";                Console.WriteLine("当前存在的记录数:"+cmd_GetID.ExecuteScalar().ToString());            }            catch (Exception ex)            {                mytran.Rollback();                throw ex;            }            finally            {                mytran.Commit();                mycon.Close();            }                                 //绑定数据库连接和事务对象                      Console.ReadLine();        }


0 0