以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  在验证是否输入整数有什么方法  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=147978)

--  作者:shyilin4
--  发布时间:2020/3/28 11:54:00
--  在验证是否输入整数有什么方法
 我用Integer.TryParse,但是如果输入英文会弹出运行错误,有什么好方法效验输入的数字是整数,排查其他乱七八糟的录入比如 空格

--  作者:有点蓝
--  发布时间:2020/3/28 12:10:00
--  
Integer.TryParse怎么会弹出错误?怎么使用的贴出代码
--  作者:shyilin4
--  发布时间:2020/3/28 12:41:00
--  
事件ValidateEdit

If e.Col.Name = "数量" Then
    If e.Text>"" Then
        \'校正数量
        Dim i As Integer
        If Integer.TryParse(e.Text,i)=False Then
            e.Cancel=True
            e.Row.Reject()
            MessageBox.Show("请输入正整数")
        Else
            If i<=0  Then
                e.Cancel=True
                e.Row.Reject()
                MessageBox.Show("领退数量不对,请大于0的整数")
            End If         
        End If
 End If





报错

.NET Framework 版本:4.0.30319.18063
Foxtable 版本:2020.1.19.19
错误所在事件:退库查询_Table2,ValidateEdit
详细错误信息:
Conversion from string "adfs" to type \'Double\' is not valid.
Input string was not in a correct format.
[此贴子已经被作者于2020/3/28 12:43:17编辑过]

--  作者:shyilin4
--  发布时间:2020/3/28 14:38:00
--  
 有老师在吗?
--  作者:shyilin4
--  发布时间:2020/3/28 15:17:00
--  
 ?

--  作者:有点蓝
--  发布时间:2020/3/28 16:11:00
--  
如果数量列是字符列,我测试没有问题。

如果数量列是双精度列,是无法输入非数值字符的。做个例子发上来测试我一下

--  作者:shyilin4
--  发布时间:2020/3/28 16:17:00
--  
但是后台是整数,怎么到这来是双精度?能改吗?或者有什么办法不出报错呢?

--  作者:有点蓝
--  发布时间:2020/3/28 16:21:00
--  
备份项目,把这个表从外部表管理中删除掉,然后重新添加试试。

或者上传实例测试