none
请教linq to sql 调用存储过程如果在存储过程中rollback提示Commit transaction 请求没有对应的begin trans RRS feed

  • 问题

  • 但是在企业管理器中测试是没错的,通过linq to sql 调用存储都存在这个现象,
    还有事务计数会比在企业管理器中执行多一

    类似下语法

    print @@trancount
    declare @s varchar(max) 
    set @s = (select User_Id, User_Name from Users where User_Login = :User_code for xml auto , Root('Root') )
    set @rc = @s
    print @@trancount
    begin tran
    print @@trancount
    update product_list
    set product_name = ' '
    where product_name like '% 123%'
    print @@trancount
    rollback tran

    直接rollback 出错,因为有时会在存储过程中判断条件成功就更新,或则就全部回滚,而不是事务出现错误的回滚,
    在这种情况下肯定报错,如上述,
    还有如果在判断@@error错误后rollback也会出现同样错误


    mason
    2011年2月8日 8:54

答案