Int32 太大或太小
我在文本框输出的是:201010414509
这是出错代码:
DataClasses2DataContext data = new DataClasses2DataContext();
NewsInfo N = new NewsInfo();
N.新闻主题 = TextBox2.Text;
N.新闻编号 = Convert.ToInt32(TextBox1.Text.ToString());//这里报错的
N.发布日期 = TextBox3.Text;
N.新闻内容 = TextBox4.Text;
data.NewsInfo.InsertOnSubmit(N);
data.SubmitChanges();
Binder();
Button1.Attributes.Add("onclick", "alert('更新成功');");
return;
提示的错误是:
异常详细信息: System.OverflowException: 值对于 Int32 太大或太小
如果我把出错那行改为:
N.新闻编号 = Convert.ToInt64(TextBox1.Text.ToString());
就会提示:无法将lang隐式转化为int,存在一个显示转换
------解决方案--------------------整数是有范围的,你对它附值不能超出它的范围
------解决方案--------------------Int32的范围大约是-2100000000~2100000000,你这个最好用ulong编号。或者用DateTime + 编号,拆开来。
------解决方案-------------------- N.新闻编号 = Convert.ToInt
64(TextBox1.Text.ToString());
并把新闻编号属性类型改成long型
------解决方案--------------------直接用string算了!
------解决方案--------------------这和LINQ木有关系
int i=Convert.ToInt32("201010414509");
你的值已经超出INT的范围了
------解决方案--------------------改用其他大数据类型比如long,Int64等
------解决方案--------------------为什么要把文本内容转换成int呢?