存储过程中调用系统的存储过程,没有结果怎样屏敝?

晚睡的书虫 2009-06-10 12:41:07
在一个存储过程中调用了系统的存储过程,系统的存储过程返回回来的结果集为空,并返回以下消息:
服务器: 消息 15330,级别 11,状态 1,过程 sp_helprotect,行 346
没有匹配的行以进行报告。

但我在程序中调用时就出错,怎样在存储过程中屏敝掉这个消息,使程序不出错?
...全文
57 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
步履人生 2011-02-20
  • 打赏
  • 举报
回复
[code=SQ]exec sp_helprotect @username='164605'[/code]上面的代码就会出现“服务器: 消息 15330,级别 11,状态 1,过程 sp_helprotect,行 346
没有匹配的行以进行报告。”提示。在sql server中创建的用户并没有在当前数据库中设置任何权限,执行后就出现了上面的提示。楼主应该和我问的一样,如何屏蔽。
步履人生 2011-02-20
  • 打赏
  • 举报
回复
[code=SQ]exec sp_helprotect @username='164605'[/code]
上面的代码就会出现“服务器: 消息 15330,级别 11,状态 1,过程 sp_helprotect,行 346
没有匹配的行以进行报告。”提示。在sql server中创建的用户并没有在当前数据库中设置任何权限,执行后就出现了上面的提示。楼主应该和我问的一样,如何屏蔽。
yan267 2011-02-19
  • 打赏
  • 举报
回复
那是你存储过程报错啊,是你SQL的异常。

如果你要扑抓这块,用try catch----就可以了
晚睡的书虫 2009-07-01
  • 打赏
  • 举报
回复
问了很久了,没得到答案,自己顶一下。
晚睡的书虫 2009-06-11
  • 打赏
  • 举报
回复
这是因为你返回的肯定有一个值,而我用的是系统存储过程 sp_helprotect ,可能没有返回值,所以就有了提示,这个提示不去除,程序就会出错。怎样在存储过程中屏敝掉呢?
you_tube 2009-06-11
  • 打赏
  • 举报
回复
create proc test1
as
begin
return 0

end

declare @table table
(id int ,name char(1))
insert into @table
exec test1


这样测试没问题呀
晚睡的书虫 2009-06-11
  • 打赏
  • 举报
回复
表没问题,是有些没有记录,所以返回来的是空的
you_tube 2009-06-11
  • 打赏
  • 举报
回复
#temp
跟sp_helprotect查询出来的表结构一样?
晚睡的书虫 2009-06-11
  • 打赏
  • 举报
回复
请说详细一些,我用的代码如下:
declare cur_usertree cursor for
select UserName,Level from getUserTree(@User,1)
order by Level desc
open cur_usertree
fetch next from cur_usertree into @curUser,@Level
while @@fetch_status=0
begin
insert into #temp
exec sp_helprotect @name=@ObjectName,@UserName=@curUser
insert into #UserLevel values(@curUser,@Level)

fetch next from cur_usertree into @curUser,@Level
end
close cur_usertree

红字部分,有些会返回以下消息:
服务器: 消息 15330,级别 11,状态 1,过程 sp_helprotect,行 346
没有匹配的行以进行报告。

怎么改?

rucypli 2009-06-11
  • 打赏
  • 举报
回复
if exists
olddown 2009-06-10
  • 打赏
  • 举报
回复
try catch?
晚睡的书虫 2009-06-10
  • 打赏
  • 举报
回复
我的SQL SERVER 是2000的,以上答案测试没通过
ai_li7758521 2009-06-10
  • 打赏
  • 举报
回复
BEGIN TRY
{ sql_statement | statement_block }
END TRY
BEGIN CATCH
{ sql_statement | statement_block }
END CATCH
[ ; ]

34,838

社区成员

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

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