以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  转换成数据类型失败  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151073)

--  作者:BG小白
--  发布时间:2020/6/15 2:41:00
--  转换成数据类型失败

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

打开软件时,读取数据表的时候错误

窗口代码
If e.KeyCode = keys.Enter Then
    Dim title As WinForm.TextBox = e.Form.Controls("title")
    Dim s As String = title.Text
    If s.Length <> 11 AndAlso s.Length <> 12
        MessageBox.Show("货号输入错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        Return
    End If
    Dim r As DataRow = DataTables("GB").AddNew
    If s.Length = 11 Then
        r("SPDM") = s.SubString(0,7)
        r("GG1DM") = s.SubString(7,2)
        r("GG2DM") = s.SubString(9,2)
        r("MDDM") = User.Name
        r.save()
    Else
        r("SPDM") = s.SubString(0,8)
        r("GG1DM") = s.SubString(8,2)
        r("GG2DM") = s.SubString(10,2)
        r("MDDM") = User.Name
        r.save()
    End If
    e.Cancel = True
    title.SelectAll
End If

--  作者:有点蓝
--  发布时间:2020/6/15 8:30:00
--  
SubString的结果包含字母,不能赋值给整数型数据。自行调试一下

msgbox(s.SubString(0,7))
msgbox(s.SubString(7,2))
msgbox(s.SubString(9,2))

--  作者:BG小白
--  发布时间:2020/6/15 12:20:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看我这里是字符类型啊,就主键是整数

--  作者:有点蓝
--  发布时间:2020/6/15 13:41:00
--  
那就和这个代码没有关系了。检查查询表,或者表达式列,是否有字符列给整数赋值的用法
--  作者:BG小白
--  发布时间:2020/6/15 13:47:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:01.png
图片点击可在新窗口打开查看数据库有

--  作者:BG小白
--  发布时间:2020/6/15 14:21:00
--  
If e.KeyCode = keys.Enter Then
    Dim title As WinForm.TextBox = e.Form.Controls("title")
    Dim s As String = title.Text
    If s.Length <> 11 AndAlso s.Length <> 12
        MessageBox.Show("货号输入错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        Return
    End If
    Dim r As DataRow = DataTables("GB").AddNew
    If s.Length = 11 Then
        r("SPDM") = s.SubString(0,7)
        r("GG1DM") = s.SubString(7,2)
        r("GG2DM") = s.SubString(9,2)
        r("MDDM") = User.Name
        r.save()
    Else
        r("SPDM") = s.SubString(0,8)
        r("GG1DM") = s.SubString(8,2)
        r("GG2DM") = s.SubString(10,2)
        r("MDDM") = User.Name
        r.save()
    End If
    e.Cancel = True
    title.SelectAll
End If

--  作者:有点蓝
--  发布时间:2020/6/15 14:39:00
--  
加载表就已经有问题了,估计和这个事件代码没有什么关系