ExecuteNonQuery()方法执行存储过程,获取RETURN_VALUE返回值的问题!
我用ExecuteNonQuery()执行存储过程获取不到返回值 都是在执行的时候出错 错误信息是"将参数值从 String 转换到 Int32 失败。"存储过程在SQL中执行没有问题!
查了好多资料 方法基本与我的差不多 有人能帮下忙不!
以下是代码
public int Execute(string spname, string usrid, string pwd)
{
int ret;
_command.CommandText = spname;
_command.CommandType = CommandType.StoredProcedure;
_command.Connection = _connection;
_command.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
_command.Parameters["@RETURN_VALUE"].Value = "";
_command.Parameters["@RETURN_VALUE"].Direction = ParameterDirection.ReturnValue;
_command.Parameters.Add("@UserID", SqlDbType.VarChar);
_command.Parameters["@UserID"].Value = usrid;
_command.Parameters["@UserID"].Direction = ParameterDirection.Input;
_command.Parameters.Add("@PassWord", SqlDbType.VarChar);
_command.Parameters["@PassWord"].Value = pwd;
_command.Parameters["@PassWord"].Direction = ParameterDirection.Input;
_connection.Open();
ret = _command.ExecuteNonQuery();
ret = (int)_command.Parameters["@RETURN_VALUE"].Value;
return ret;
}
spname是存储过程,另外两个是传过来的参数 数据库连接在另外个方法里 连接没问题!