设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2175|回复: 3
打印 上一主题 下一主题

[求助]存储过程的状态返回值有何作用,及如何使用它?

[复制链接]
跳转到指定楼层
1#
发表于 2005-9-27 17:49:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
书中说,在存储过程中,可以用return (整数)来取得一个状态返回值,以确定存储过程调用状态,一般用0表示调用成功,用-1~-99表示系统调用错误。

不知这个值能起什么作用?

在VBA代码中,用currentproject.connection.execute("exec 存储过程")调用存储过程,无论是存储过程中的T-SQL语句成功执行与否,均无法显示相关的信息。是不是用这个状态返回值就可以判定存储过程是成功执行所有的T-SQL代码,或是中途发生错误。

如果真是这样就好了,我们可以在VBA中用msgbox来提醒用户程序是否成功完成,可出现了错误,请检查错误发生的原因。

在VBA中又是如何调用这个状态返回值的呢?

请各位高手多多指教!谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-9-28 03:52:00 | 只看该作者
Dim cmd As New ADODB.Command

Dim Par As New ADODB.Parameter

Set cmd.ActiveConnection = CurrentProject.Connectioncmd.Parameters.Append cmd.CreateParameter("@return_value", adInteger, adParamReturnValue)'(必须的,可以返回执行的状态的)Set Par = cmd.CreateParameter("@备注" & I, adVarChar, adParamInput, 50, rss("备注"))

cmd.Parameters.Append Par

Set Par = cmd.CreateParameter("@错误", adVarChar, adParamInputOutput, 100, "")'(系统返回的参数值)

cmd.Parameters.Append Parcmd.CommandText = "销售_增加新销售记录"

cmd.CommandType = adCmdStoredProc

cmd.ExecuteIf cmd.Parameters("@return_value").Value <> 0 Then   '当返回值是不成功时

MsgBox Par.Value, vbInformation, "系统提示"

Elseend

[em01][em01]
3#
发表于 2005-9-28 04:04:00 | 只看该作者
后台的服务器同样用判断语句declare @err intset @err=@@errorif @err<>0 select @错误=‘。。。。。。。。。’。。。。。
4#
 楼主| 发表于 2005-9-28 18:50:00 | 只看该作者
謝謝徐阿鵬,我試一下先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 06:58 , Processed in 0.085926 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表