1.我写了个事务
begin tran
insert into......
insert into......
第一个insert 不成功时它不回滚,继续执行了第二条insert2.数据库中有个表假设有一个字段是可空的(这个字段不是String型的),我在插入的存储过程中把这个字段当成参数,当我在前台不填这个字段,想传null进来怎么办?

解决方案 »

  1.   

    第一个问题不会,只用过ado.net的事务 - -第二个问题可以把变量设为可空类型,赋值null传给参数,如int? i = null;
      

  2.   


    begin tran
    insert into...... 
    if (@@error <> 0)
        begin
    rollback tran
    set @ReturnId = -1
    return @ReturnId
        end
    insert into...... 
    if (@@error <> 0)
        begin
    rollback tran
    set @ReturnId = -2
    return @ReturnId
        end
        commit tran
        set @ReturnId = @@identity
        return @ReturnId 
      

  3.   

    可以传null进来。但参数必须与 存储过程中的参数对应。insert 或 update 你需要的字段
      

  4.   

    但参数必须被使用,如果sql中没使用到 就没必要有这个参数了。
      

  5.   

    1楼的兄弟,int i能赋值null吗?呵呵
      

  6.   

    我写的比较明显了,可空类型类型后加?,这样的声明方式 int? i; 使i可以赋值为null