关于从存储过程返回参数是怎么用啊?
     	
CInt(param.Value)
提示说无法转换
存储过程如下
CREATE PROCEDURE  IsValidateUser (	@Name varchar(10),
					@Password varchar(6) ,
					@Pid integer out ) AS
select @Pid=isnull(PatientsID,0) from patients where  PatientsName=@Name and Passwords=@Password
GO
一个函数如下
 Public Function Isvalidate(ByVal name As String, ByVal password As String) As Integer
        Dim myconnection As SqlConnection = New SqlConnection("server='localhost';uid=sa;pwd=123456;database=db")
        '使用存储过程
        Dim mycommand As SqlCommand
        If Ckbox.Checked Then
            mycommand = New SqlCommand("IsValidateDoctors", myconnection)
        Else
            mycommand = New SqlCommand("IsValidateUser", myconnection)
        End If
        mycommand.CommandType = CommandType.StoredProcedure
        Dim param As SqlParameter
        param = New SqlParameter("@Name", SqlDbType.VarChar, 20)
        param.Value = name
        mycommand.Parameters.Add(param)
        param = New SqlParameter("@Password", SqlDbType.VarChar, 20)
        param.Value = password
        mycommand.Parameters.Add(param)
        param = New SqlParameter("@Pid", SqlDbType.Int)
        param.Direction = ParameterDirection.Output
        mycommand.Parameters.Add(param)
        Try
            myconnection.Open()
            '执行命令
            mycommand.ExecuteNonQuery()
        Catch myException As Exception
            '出错处理
        Finally
            myconnection.Close()
        End Try
        Return CInt(param.Value)
    End Function