dbParameter.ParameterName = "@numberofbook";
dbParameter.Direction = ParameterDirection.Output;
dbParameter.DbType = DbType.Int32;
dbCommand.Parameters.Add(dbParameter);
...
...//添加其它参数,以及调用存储过程
int howManyBooks = Int32.Parse(dbCommand.Parameters["@numberofbook"].Value.ToString());
现在就是最后这一句的时候会报错:System.FormatException: Input string was not in a correct format.
存储过程中,out参数@numberofbook为int型
请教一下,问题可能出现在什么地方?
7 个解决方案
#1
System.FormatException: Input string was not in a correct format
提示很明显,输入的字符串格式不正确。
1、在你时间参数那块检查一下
提示很明显,输入的字符串格式不正确。
1、在你时间参数那块检查一下
#2
字符串格式不正确我晓得,但是不知道为什么出现这样的原因。
存储过程我运行过,似乎结果是正确的。返回的out参数是Int型。
什么时间参数?
#3
关键是你这个要调用这个存储过程,对吧。那么你是不是有些在外部输入的参数?看你输入参数的格式对不对?
#4
try:
int howManyBooks = Convert.toint32(dbCommand.Parameters["@numberofbook"].Value.ToString());
#5
一样的错误...没有什么区别啊
#6
是的。其他的应该是正确的。因为我试过把这句话注释掉,其他外部输入的参数不变,就没有问题。
#7
现在我试了先获得dbCommand.Parameters["@numberofbook"].Value.ToString()的型式。
结果这个字符串既不是我给的一个初始字符串,也不为空。但是如果我要将这个字符串的值给Label.Text的话,又没有字符出现。
存储过程执行的结果应该是18
结果这个字符串既不是我给的一个初始字符串,也不为空。但是如果我要将这个字符串的值给Label.Text的话,又没有字符出现。
存储过程执行的结果应该是18
#1
System.FormatException: Input string was not in a correct format
提示很明显,输入的字符串格式不正确。
1、在你时间参数那块检查一下
提示很明显,输入的字符串格式不正确。
1、在你时间参数那块检查一下
#2
字符串格式不正确我晓得,但是不知道为什么出现这样的原因。
存储过程我运行过,似乎结果是正确的。返回的out参数是Int型。
什么时间参数?
#3
关键是你这个要调用这个存储过程,对吧。那么你是不是有些在外部输入的参数?看你输入参数的格式对不对?
#4
try:
int howManyBooks = Convert.toint32(dbCommand.Parameters["@numberofbook"].Value.ToString());
#5
一样的错误...没有什么区别啊
#6
是的。其他的应该是正确的。因为我试过把这句话注释掉,其他外部输入的参数不变,就没有问题。
#7
现在我试了先获得dbCommand.Parameters["@numberofbook"].Value.ToString()的型式。
结果这个字符串既不是我给的一个初始字符串,也不为空。但是如果我要将这个字符串的值给Label.Text的话,又没有字符出现。
存储过程执行的结果应该是18
结果这个字符串既不是我给的一个初始字符串,也不为空。但是如果我要将这个字符串的值给Label.Text的话,又没有字符出现。
存储过程执行的结果应该是18