VB6.0中调用SQL server2000中的存储过程,该如何解决

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 & "")