Foxtable(狐表)用户栏目专家坐堂 → 转换成数据类型失败


  共有2007人关注过本帖树形打印复制链接

主题:转换成数据类型失败

帅哥哟,离线,有人找我吗?
BG小白
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:579 积分:3965 威望:0 精华:0 注册:2019/11/14 23:06:00
转换成数据类型失败  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/15 8:30:00 [只看该作者]

SubString的结果包含字母,不能赋值给整数型数据。自行调试一下

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

 回到顶部
帅哥哟,离线,有人找我吗?
BG小白
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:579 积分:3965 威望:0 精华:0 注册:2019/11/14 23:06:00
  发帖心情 Post By:2020/6/15 12:20:00 [只看该作者]


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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/15 13:41:00 [只看该作者]

那就和这个代码没有关系了。检查查询表,或者表达式列,是否有字符列给整数赋值的用法

 回到顶部
帅哥哟,离线,有人找我吗?
BG小白
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:579 积分:3965 威望:0 精华:0 注册:2019/11/14 23:06:00
  发帖心情 Post By:2020/6/15 13:47:00 [只看该作者]


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

 回到顶部
帅哥哟,离线,有人找我吗?
BG小白
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:579 积分:3965 威望:0 精华:0 注册:2019/11/14 23:06:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/15 14:39:00 [只看该作者]

加载表就已经有问题了,估计和这个事件代码没有什么关系

 回到顶部