日期:2014-05-17  浏览次数:21027 次

执行ExecuteNonQuery()方法时出现FormatException异常。将参数值从 String 转换到 Int32 失败。
string FormatException

------解决方案--------------------
SqlParameter returnValue = sqlcmd.Parameters.Add(new SqlParameter("@usr_type", SqlDbType.Int, 4) { Value = "usertype" });
首先这里定义的参数类型,和你的赋值不匹配。报错就是这里的问题。

其次你对于这个返回参数的用法不是很正确。
1、对于输出参数可以不设置其value
2、你的sql语句中要对输出参数赋值
ParameterDirection.ReturnValue,在sql语句中使用return
ParameterDirection.Output,在sql语句中使用output
------解决方案--------------------
SqlParameter returnValue = sqlcmd.Parameters.Add(new SqlParameter("@usr_type", SqlDbType.Int, 4) { Value = "usertype" });
应该传入整型变量,你传的字符串
int usertype=2;
SqlParameter returnValue = sqlcmd.Parameters.Add(new SqlParameter("@usr_type", SqlDbType.Int, 4) { Value = usertype });