VB6.0中调用SQL server2000中的存储过程
本人现在在用VB6.0写一个信息管理程序,是C/S的,想在后台用存储过程完成对数据的操作。现在又这样一个存储过程:CREATE PROCEDURE [admin_now]
@name varchar
AS
DECLARE @R varchar
Select @R=mm from admin where name= @name
RETURN @R
GO ------用于获取用户表admin中从text1.text获取的用户名对应的密码
在VB6.0中关于调用这个存储过程的代码:
Private Sub cmd1_Click()
Dim Conn As New ADODB.Connection
Dim Cmd As New ADODB.Command
Dim Par As ADODB.Parameter
Dim y As String
y = Text1.Text
Conn.Open "Driver={SQL server};server=FS;uid=sa;pwd=;database=yd" ----建立连接
Cmd.CommandType = adCmdStoredProc ----要设置Command类型为存储过程
Set Cmd.ActiveConnection = Conn ----现在设置Command的数据连接
Set Par = Cmd.CreateParameter("R", adInteger, adParamReturnValue) -----返回值的参数
Cmd.Parameters.Append Par
Set Par = Cmd.CreateParameter("name", adChar, adParamInput, 20, y) -----调用的参数
Cmd.Parameters.Append Par
Cmd.CommandText = "admin_now"
Set DS = Cmd.Execute
MsgBox Cmd.Parameters("R").Value ----问题在这里,这个确定提示上面除了个提示按钮什么也没有,没有返回的@R的值
Conn.Close
Set Cmd = Nothing
Set Conn = Nothing
Set DS = Noting -----这里总是提示“类型不匹配”?
End Sub
现在问题是返回的值看不到,而我想把这个返回的值赋给一个变量,然后判断值对不对,不知道这样的语句该怎样写?
我才学的调用存储过程,但书上写的都不清楚,不用具体语句是做什么用的,为什么这样写?各位老师能不能推荐本具体讲调用存储过程的帖子或书。我找的这段代码还是太多了,现在我还是搞不清怎样向存储过程传递多个参数,让控件直接显示存储过程返回的值或视图返回的查询结果(表格)。
最好有一个调用存储过程的函数,想这样:函数名(存储过程名,传递参数,。。。)就好了,hehe .
我在线等老师们的解答,谢谢!
[解决办法]
dim ds as recordset
msgbox ds("R")
[解决办法]
必要的空格还是要加的。不能把它们连成一片。
Set rsaddnew = Myconnection.Execute("exec insert_ghs" & "" & Text1.Text & "'," & "" & Text2.Text & "'," & "" & Text3.Text & "")