ExecuteNonQuery()方法执行存储过程,获取RETURN_VALUE返回值的问题!

akari_tun 2007-04-03 05:04:15
我用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是存储过程,另外两个是传过来的参数 数据库连接在另外个方法里 连接没问题!
...全文
1014 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dgh_85 2007-06-26
  • 打赏
  • 举报
回复
你把_command.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
_command.Parameters["@RETURN_VALUE"].Value = "";
改为:
_command.Parameters.Add("@RETURN_VALUE",SqlDbType.Int);
_command.Parameters["@RETURN_VALUE"].Direction = ParameterDirection.ReturnValue;
取得值的时候用:

int i=(int)_command.Parameters["@RETURN_VALUE"].Value;
akari_tun 2007-04-03
  • 打赏
  • 举报
回复
这里只是为了解决这个问题写的..

ExecuteNonQuery()的返回值是int型没错的呀
现在问题是得不到@RETURN_VALUE这个存储过程的返回值!
_command.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
_command.Parameters["@RETURN_VALUE"].Value = "";
这里哪里有错吗帮我结实下呀..我是新手
bitpolar 2007-04-03
  • 打赏
  • 举报
回复
老大你这代码连个异常捕获都没有...
bitpolar 2007-04-03
  • 打赏
  • 举报
回复
_command.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
_command.Parameters["@RETURN_VALUE"].Value = "";
  • 打赏
  • 举报
回复
将参数值从 String 转换到 Int32 失败

说明是类型错误

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧