感谢您使用微软产品。 您可以利用rdoConnection对象的CreateQuery方法创建一个rdoQuery对象,并在参数中指定要执行的操作为存储过程名,在rdoQuery对象的rdoParameters属性中设定存储过程的参数值,在调用rdoQuery对象的Execute方法执行存储过程。如下例: Dim en As rdoEnvironment Dim cn As rdoConnection Dim rs As rdoResultset Dim rq1 As rdoQuery Dim rq2 As rdoQuery Dim val1 As Double Dim val2 As Double val1 = 8.2 val2 = 9.2 Set en = rdoEngine.rdoEnvironments(0) en.CursorDriver = rdUseOdbc Set cn = en.OpenConnection("",rdDriverNoPrompt,," & _ "DRIVER={SQL Server};" & _ "Server=matthofa;" & _ "UID=sa;PWD=;" & _ "DATABASE=pubs") Set rq1 = cn.CreateQuery("", "{Call simplesql1(?,?) }") rq1.rdoParameters(0).Direction = rdParamInput rq1.rdoParameters(0).Value = val1 rq1.rdoParameters(1).Direction = rdParamInput rq1.rdoParameters(1).Value = val2 Set rq2 = cn.CreateQuery("", "{Call simplesql2(?,?) }") rq2.rdoParameters(0).Direction = rdParamInput rq2.rdoParameters(0).Value = val1 rq2.rdoParameters(1).Direction = rdParamInput rq2.rdoParameters(1).Value = val2 rq1.Execute rq2.Execute rq1.Close rq2.Close Set rs = cn.OpenResultset("select * from numericscale") While Not rs.EOF Debug.Print rs(0).Name & ": " & rs(0) Debug.Print rs(1).Name & ": " & rs(1) rs.MoveNext Wend cn.Close en.Close Unload Me 请参考下面的文章中的相关代码:Q188574 PRB: Decimal Values Passed to a Stored Procedure Get Truncatedhttp://support.microsoft.com/default.aspx?scid=kb;EN-US;Q188574 Q177187 BUG: Stored Procedures Cannot Process NULL Parameters from VBhttp://support.microsoft.com/default.aspx?scid=kb;EN-US;Q177187 - 微软全球技术中心 VB技术支持 本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
Public Function FindId(ID1 As Single) As Boolean
Dim pra_user_id As New ADODB.Parameter
Dim pra_user_exist As New ADODB.Parameter
Dim cmd_IsIdExist As New ADODB.Command
pra_user_id.Direction = adParamInput
pra_user_id.Type = adSingle
pra_user_id.Size = 9
pra_user_id.Value = ID1
pra_user_exist.Direction = adParamOutput
pra_user_exist.Type = adBoolean
pra_user_exist.Size = 1
cmd_IsIdExist.ActiveConnection = adoCnConnect
cmd_IsIdExist.CommandType = adCmdStoredProc
cmd_IsIdExist.CommandText = "prc_Find_ID"
cmd_IsIdExist.Parameters.Append pra_user_id
cmd_IsIdExist.Parameters.Append pra_user_exist
cmd_IsIdExist.Execute
FindId = pra_user_exist.Value
End Function
private sub command1_click()
dim a as single
dim b as boolean
a=val(text1.text)
b=FindId(a)
msgbox b
'a是id号作为传入参数b是该id是否存在,是返回参数
end sub