谢谢两位
G_rs.state那时的状态应该是什么呢?

解决方案 »

  1.   

    G_rs.state的状态应该都是"打开"状态吧!
    判断这个好象没有什么作用吧
      

  2.   

    G_rs.recordcount 好象没有用快来解决这个问题吧!怎么样在CommitTrans前就知道影响的行数呢!
      

  3.   

    我在下面语句中本来是想读取@@ROWCOUNT,看是否影响了一行数据,如果没有影响,则表明出错,则要求RollbackTrans,但是现在这里@@ROWCOUNT总是等于0,即使在数据库中存在相应的编号,可能是因为还没有CommitTrans。有什么方式能够解决这个问题呢?这样子有点不符合逻辑,---没有影响,则表明出错---〉假如你会修改一行的资料,然后你就认为可以,谁知道真正去修改的时候网路断了,或者因为被锁等情况,你说这样不要rollback吗?你干吗不用抓取@@Error呢,如果@@Error〉0那么则出错,否则就是状态良好呢?sql server都还没有真正动作就告诉你一个预知的@@ROWCOUNT,这样子做值得信任吗?不可能提供这样的信息给你!用@@error吧
      

  4.   


    create table a (id int,name varchar(8))
    insert into a values (5,'changhong-')
    if @@rowcount=0
    begin 
    print'插入失败'
    end
    else
    begin 
    print '成功插入一条记录'
    end
      

  5.   

    select * from a 
    --得到上一语句所影响的行数
    select @@rowcount
      

  6.   

    因为UPDATE在修改一个不存在的编号信息时,SQLSERVER是没有错误修改呀!
    所以用@@error可能也不行.
      

  7.   

    那就update之前select一下 ,用if exists()总可以吧],再根据需要返回信息到客户端