字符串到整数的转换:Convert.toInt16 [英] String to Int conversion: Convert.toInt16
问题描述
这是代码.
代码1:cmd.Parameters.Add("@ RateCenterID",OleDbType.Integer).Value = Convert.ToInt32(ratecenterid.Text);
代码2:cmd.Parameters.Add("@ QuantityThreshold",OleDbType.Integer).Value = Convert.ToIn32(quantityThreshold.Text);
我在** CODE 2 **中收到以下错误,但在CODE 1中却没有得到
错误:**对于Int32,值太大或太小.**
请帮助我
问候,
Arjun
Hi,
This is the code.
CODE 1: cmd.Parameters.Add("@RateCenterID", OleDbType.Integer).Value = Convert.ToInt32(ratecenterid.Text);
CODE 2: cmd.Parameters.Add("@QuantityThreshold", OleDbType.Integer).Value = Convert.ToIn32(quantityThreshold.Text);
I get the following error in the **CODE 2** but not in CODE 1
Error: **Value was either too large or too small for an Int32.**
kindly help me
Regards,
Arjun
推荐答案
使用int.TryParse()方法
Use int.TryParse() method
int theResult = 0;
if (theValue == null || Convert.IsDBNull(theValue) || !int.TryParse(theValue.ToString(), out theResult))
theResult = 0;
return theResult;
OleDbType.整数是16位整数,而不是32位.您将需要改用LongInteger.在volumeThreshold.Text中输入的值可能大于32767(或小于-32768)
祝你好运!
OleDbType.Integer is a 16-bit integer and not 32-bit. You would need to use LongInteger instead. The value entered in quantityThreshold.Text is probably larger than 32767 (or below -32768)
Good luck!
这篇关于字符串到整数的转换:Convert.toInt16的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!