错误处理的疑惑,请高手指教

hfrui 2003-04-10 11:18:08
在Delphi中用ADO连接,一次执行多个SQL语句,如:
ADOConection1.Execute('raiserror('Error',16,10) select ''test''as A ')
//执行了两个语句:
//raiserror('Error',16,10)
//select 'test'as A
//第一个引发了一个错误,可以捕捉到,而:
ADOConection1.Execute('select ''test''as A raiserror('Error',16,10) ')
//也是执行了两个语句:
//select 'test'as A
//raiserror('Error',16,10)
//第一个正常完成,第二个引了一个错误,却捕捉不到


在查询分析器中,下面两个语句不管按什么顺序执行都可以看到错误消息
select 'test'as A
raiserror('Error',16,10)

通过试验发现,在客户端,只要第一个SQL没有出错,就捕捉不到错误了,检查ADOConection1.Error.Count,结果为0,像这种情况,有什么办法才能捕捉到错误?
...全文
21 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hfrui 2003-04-13
  • 打赏
  • 举报
回复
up
hfrui 2003-04-12
  • 打赏
  • 举报
回复
up
hfrui 2003-04-12
  • 打赏
  • 举报
回复
还是不行啊
pengdali 2003-04-10
  • 打赏
  • 举报
回复
ADOConection1.Execute('SET NOCOUNT ON ; select ''test''as A ; raiserror('Error',16,10) ')
pengdali 2003-04-10
  • 打赏
  • 举报
回复
SET NOCOUNT ON
select 'test'as A
raiserror('Error',16,10)
SET NOCOUNT OFF

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧