场景设置:写一个WinForm程序,假如某数据库表的字段为整数类型,而这个字段的值是从form窗体的TextBox输入。
要求是:TextBox只能输入整数,这个值在代码中用int变量存储,然后再存储到数据库。
这是我在项目中遇到的问题,问题说大可不大,但是还可能隐藏着很多bug:(1)数据库这个字段类型应该怎么设置?能保存输入的值能正确存储,不出现值太大或太小等异常。(2)从TextBox输入的值只能是数字,否则转化为int类型的时候会报异常,在实际情况中,假如TextBox输入的值太大同样会报异常,这个输入值的大小又如何根据实际情况做控制呢?
我的解决方法:
(1)我对数据库设计也不大熟悉,在此选用Oracle,参考Oracle的数据类型后,选用number(m,n)类型,C#中int类型范围为
-2,147,483,648 到 2,147,483,647,于是这个字段类型可以为number(10,0)。
(2)TextBox输入控制包括键盘输入和粘贴输入。
键盘输入的控制代码为:
private void txtSum_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar != 8