Office中国论坛/Access中国论坛

标题: 各位大虾,请问如何用access获取sqlserver存储过程执行成功的返回信息 [打印本页]

作者: yinghua    时间: 2002-7-26 18:35
标题: 各位大虾,请问如何用access获取sqlserver存储过程执行成功的返回信息
各位大虾:
  请问如何用access获取sqlserver存储过程执行成功的返回信息,我在access程序中会调用后台的存储过程,但是不知道如何取得存储过程返回的信息。因为我现在需要在后台存储过程执行成功后返回到前台一个成功与否的信息,又不想用向数据表插入纪录的方式。
     请各位大虾多多帮忙啊。
                       Thinks everyone!
作者: tomzy    时间: 2002-7-26 19:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: yinghua    时间: 2002-7-26 19:22
tomzy:
      对不起,我想你可能没有理解我的意思,我时说调用SQLserver的存储过程,而不是在前台执行sql语句。
      多谢。

作者: HG    时间: 2002-7-26 19:26
在調用存儲過程後,請刷新參數,讀取刷新後的第一個參數即是,
如果是0或自定義存儲過程返回值則存儲過程執行無誤,非零也非自定義存儲過程返回值則為錯.
作者: yinghua    时间: 2002-7-26 19:33
非常感谢,我想能否给我一个例子(前台的),多谢!
作者: HG    时间: 2002-7-26 21:13
Public Function qry_emp_subsidy(my_year As Integer, my_month As Integer, my_emp_sn As String) As Currency
Dim com As New ADODB.Command
Dim prm As New ADODB.Parameter

With com
  .CommandText = "usp_qry_emp_subsidy"
  .CommandType = adCmdStoredProc
  .ActiveConnection = CurrentProject.Connection
End With
Set prm = com.CreateParameter(, adSmallInt, adParamInput, , my_year)
com.Parameters.Append prm
Set prm = Nothing
Set prm = com.CreateParameter(, adTinyInt, adParamInput, , my_month)
com.Parameters.Append prm
Set prm = Nothing
Set prm = com.CreateParameter(, adChar, adParamInput, 4, my_emp_sn)
com.Parameters.Append prm
Set prm = Nothing
Set prm = com.CreateParameter(, adCurrency, adParamOutput)
com.Parameters.Append prm
Set prm = Nothing

com.Execute

If IsNull(com.Parameters(3)) Then
    qry_emp_subsidy = 0
  Else
    qry_emp_subsidy = com.Parameters(3)
End If
com.Parameters.Refresh '刷新參數
If com.Parameters(0) <> 0 Then '取得並判斷返回值
MsgBox "error !", vbOKOnly, "err"
Exit Function
End If
Set com = Nothing

End Function


作者: yinghua    时间: 2002-7-29 16:23
对不起,我想知道如何用DAO的方式实现? 谢谢
作者: HG    时间: 2002-7-29 17:23
sorry:無能為力.因為我只會用不太落後的技術.而DAO我不會用.並且好像它對SQL的支持也較差.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3