首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

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

执行ExecuteNonQuery()方法时出现FormatException异常。将参数值从 String 转换到 Int32 失败。
执行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 });

热点排行