首页 新闻 会员 周边

值对于 Int32 太大或太小。

0
悬赏园豆:5 [待解决问题]

我要写入数据库一个教师编号,在sql中设置的数据类型是bigint,写入数据库时,用了int.Parse(textBox.text),但是总是出现这样的错误,值对于 Int32 太大或太小。

编号的长度是和 199901010001 这个数一样长度的。

请高手指点……

kdkler的主页 kdkler | 初学一级 | 园豆:154
提问于:2010-09-01 09:20
< >
分享
所有回答(6)
0

为什么不直接用定长字符串呢?int默认是32的。

Astar | 园豆:40805 (高人七级) | 2010-09-01 09:22
这个数据库原来设计的是bigint类型的,因为表间的关联有点复杂,现在我想改成字符串型的,现在也改不过来,(要改的话,工作量会比重做这个网站更耗时间) 所以还请教一下,如果只能是bigint类型的话,类似这样的问题该如何解决?
支持(0) 反对(0) kdkler | 园豆:154 (初学一级) | 2010-09-01 09:30
0

int的上限应该是2147683647

而你这边数据库使用的是bigint,那C#对应的应该是long吧,你怎么会还用int.Parse转换呢?

kyo-yo | 园豆:5587 (大侠五级) | 2010-09-01 09:26
那该怎样写呢?……
支持(0) 反对(0) kdkler | 园豆:154 (初学一级) | 2010-09-01 09:32
@凯丁古乐:用long.Parse
支持(0) 反对(0) kyo-yo | 园豆:5587 (大侠五级) | 2010-09-01 09:56
0

bigint 对应在.net中是 long 类型

jowo | 园豆:2834 (老鸟四级) | 2010-09-01 09:29
呵呵,这个我也知道的
支持(0) 反对(0) kdkler | 园豆:154 (初学一级) | 2010-09-01 09:32
string tech_number="343434"; long long_num = long.Parse(tech_number);
支持(1) 反对(0) jowo | 园豆:2834 (老鸟四级) | 2010-09-01 09:59
-2

用 Int64 就行了嘛!省的那么麻烦.

 Int64.Parse(this.textBox.Text.Trim());

Int.MaxValue = 2147483647 比你的 199901010001 小多了.

Launcher | 园豆:45045 (高人七级) | 2010-09-01 09:43
0

像这种编号数据类型用Varchar在编程过程中遇到的问题会少吧

泪的诺言lni | 园豆:105 (初学一级) | 2010-09-01 22:12
0

我是把一个数字字符串转换 Convert.ToInt32(row["vin"]) 也是出错了

这是错误:值对于 Int32 太大或太小。

jyq_218 | 园豆:202 (菜鸟二级) | 2012-10-18 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册