在sysmessages有大盖的描述,有没有办法得到比较确切的错误信息
如出错的代码行,表等。

解决方案 »

  1.   

    exec xxx....
      set @error=@@error
    if @error>0
      insert 你的表 (错误号,消息) select error,[description] from master..sysmessages where error=@@error
      

  2.   

    master..sysmessages保存了部份出错信息.
      

  3.   


    sysmessages 
    每个可由 Microsoft® SQL Server™ 返回的系统错误和警告分别占一行。SQL Server 在用户的屏幕上显示对错误的描述。列名 数据类型 描述 
    error int 唯一错误号。 
    severity smallint 错误的严重级别。 
    dlevel smallint 仅限内部使用。 
    description nvarchar(255) 对参数占位符错误的解释。 
    mslangid smallint 系统消息组 ID。 
      

  4.   

    master..sysmessages的记录很多描述的都是一类错误,比如error=515,
    Cannot insert the value NULL into column '%.*ls', table '%.*ls'; column does not allow nulls. %ls fails.
    不够具体,不知道是哪个表,哪个字段不能为空。有没有办法获得更详细的错误信息?我很想知道,谢谢大家!
      

  5.   

    因为如果在SQL Query Analyzaer执行时,如出错,
    是会给出比较详细的信息的。谢谢pengdali(大力 V2.0) & CrazyFor(太阳下山明朝依旧爬上来)
    & zjcxc(邹建) 的支持。
    请大家就绪发言
      

  6.   

    在delphi里用
    try
      query1.execSQL;
    except
      on e: Exception do 
      begin
        showmessage('出错' + e.message);
        exit;
      end;
    end;
    showmessage('执行成功')