在查询分析里 执行 update delete 等语句 都会显示 影响到多少行 
在delphi里 我用adoquery来执行,怎么知道执行结果 影响到多少行

解决方案 »

  1.   


    try
      ExecSql;
      ShowMessage('succeed');
    except 
      ShowMessage('failed');
    end;如果你想要知道影响多少行 需要先用你的条件<你delete/update的条件查询一遍 看有多少条>解决问题的过程 就是你分析 细化问题的过程
      

  2.   

    严重同意
     beyondtkl(大龙驹<逝追>)
      

  3.   

    我在执行 update 语句时 如果不满足 后面的 where 条件 是不会出现异常的.这种方法不行的
      

  4.   

    请 详述 你的情况是不是说 如果你忘记写where条件 或者 你的where条件不匹配的话
    出现的问题 
    呵呵 我们说的是否修改成功有两种
    1. 前台sql语句执行是否成功 <逻辑>
    2. 该SQL语句是否确实影响到数据库后台的数据 <物理>你说的应该是2的问题 其实你如果像我最上面写的那样处理的话 是可以的
    因为你查询跟执行的条件是一样的
    如果你条件不正确 没有满足 那么查询出来的记录为 0 自然更新影响的记录数也为0 <当然不考虑此段时间 是否有新的满足条件的记录产生>
      

  5.   

    什么叫"执行结果 影响到多少行"?是指总共update多少行,delete多少行?
    先统计一下简单得多!
      

  6.   

    先查一下符合条件的记录有几条:select count(*) from where 条件
      

  7.   

    我就想只执行一条 update 语句后 就知道我是否改到了记录
      

  8.   

    update ............;select @@rowcount 是这样吗?
      

  9.   

    如果是那样的话写个存储过程吧,在里面update 然后把@@RowCount当参数传回来就是了
    这不就可以知道影响多少行了?
      

  10.   

    CREATE PROCEDURE name 
    AS
    update .....................
    select @@rowcount
    GO这样?
      

  11.   

    支持,用@@RowCount 可以知道你的语句影响了多少个记录!