选项 1) 使用 ADO 连接错误集合。
try
....
....
....
ADOQuery1.Open;//Execute your sql statement
except
LastErrorIndex :=ADOConnection1.Errors.Count-1;
SourceError :=ADOConnection1.Errors.Item[LastErrorIndex].Source;
NumberError :=ADOConnection1.Errors.Item[LastErrorIndex].Number;
DescriptionError:=ADOConnection1.Errors.Item[LastErrorIndex].Description;
SQLStateError :=ADOConnection1.Errors.Item[LastErrorIndex].SQLState;
NativeError :=ADOConnection1.Errors.Item[LastErrorIndex].NativeError;
end;
选项 2)您可以使用 @@error 变量从 sql server 获取最后一个错误。
select @@error
当 Sql Server 发生错误时,您只能使用@@ERROR 全局变量获取错误号。没有@@ERROR_MESSAGE 全局变量来获取错误描述。对于完整的错误消息,您可以使用错误号查询 master..sysmessages 表:
SELECT Description FROM master..sysmessages WHERE error= @@ERROR AND msglangid=1033
但这些消息中的大多数都有占位符(如 %s、%ld),您也可以使用此存储过程。
您可以阅读这篇文章SQL Server 中的错误处理 - 背景了解更多信息。
再见。