关于从存储过程返回参数是怎么用啊?
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