我收到错误,我无法修复
我的字段只允许输入数字,最多可输入10位数字
这是检查数字的代码
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8 && ch != 46)
{
e.Handled = true;
}
但是当我尝试执行时,我收到此错误弹出消息
答案 0 :(得分:2)
答案 1 :(得分:1)
您的问题可能与WPF无关。
由于您可能正在使用MS SQL,因此您可能需要查看ranges of integer types in MS SQL。
它表示整数(int,int32)列的最大可能值为2,147,483,647,而您的值为9999999999,远远大于20亿。
您应该将列的数据类型更改为bigint
。
修改强>
此外,如果您的数据实体(查询)是手动创建的,那么您应该使用与SQL bigint
类型对应的C#program Int64(long)类型。
关于WPF
虽然可以在代码隐藏事件处理中处理数据验证,但WPF的复杂性和此类方法的整体缺点可能会导致许多问题,因此我建议您将验证代码移至viewmodel类并使用一些标准WPF Validation techniques。