Foxtable(狐表)用户栏目专家坐堂 → 遇到不明原因的错误提示(140719)


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

主题:遇到不明原因的错误提示(140719)

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
遇到不明原因的错误提示(140719)  发帖心情 Post By:2014/7/17 16:05:00 [显示全部帖子]

请问出现如下错误是什么原因?如何查呢?

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.7.19.1
错误所在事件:窗口,销售订单管理,Button04,Click
详细错误信息:
Object cannot be cast from DBNull to other types.

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 16:16:00 [显示全部帖子]

If Tables("obas_part_spec").Visible=True Then
    If CurrentTable.Name = "osal_ord2" Then
        Dim s As String =CurrentTable.Current("part_no")
        
        Dim t As WinForm.Table = Forms("销售订单管理").Controls("Table1")
        If t.Table.Rows.Count > 0 Then
            Dim ids As String
            For Each r As Row In t.Table.Rows
                
                ids = ids & ",'" & r("part_no") & "'"
            Next
            ids= ids.Trim(",")
            
            
            'Try
            DataTables("obas_part_spec").LoadFilter = "part_no In (" & ids & ")"
            DataTables("obas_part_spec").Load()
            
            
            'Catch ex As Exception
            
            'MessageBox.Show("没有找到符合条件的行!")
            'End Try
            
            e.Form.Visible=False
            Tables("临时表")(0)("第一列")="osal_ord1"
            MainTable = Tables("obas_part_spec")
            DataTables("obas_part_spec").DataCols("产品编码").RaiseDataColChanged()
            DataTables("obas_part_spec").Save()
            
            'Syscmd.Project.Save()
            
            'Application.DoEvents()
            With Tables("obas_part_spec")
                .Sort="订单ID"
                
                Dim r As Integer
                r = .Find(s, 0, "part_no", False, False, True)
                If r > - 1 Then '如果找到符合条件的行
                    .Position = r '则选择该行
                    Dim cpph As String = Tables("obas_part_spec").Current("part_no")
                    Dim dr As DataRow
                    dr = DataTables("料品资料查询表").Find("part_no = '" & cpph & "'")
                    If dr IsNot Nothing Then
                        
                        'Select Case Tables("obas_part_spec").Current("产品类别")
                        Select Case dr("type_name")
                            Case "铝门锁","鹅旦锁","有尾门锁"
                                ' SystemReady = False
                                Forms("产品规格表2").Show
                                ' SystemReady = True
                            Case Else
                                ' SystemReady = False
                                Forms("产品规格表").Show
                                ' SystemReady = True
                        End Select
                    Else
                        Return
                    End If
                Else
                    If Messagebox.Show("规格表中还没录入此项数据,是否反回销售订单窗口?","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Information)=DialogResult.Yes Then
                        'e.Form.Close
                        MainTable = Tables("osal_ord1")
                    Else
                        
                        Select Case Tables("obas_part_spec").Current("产品类别")
                            
                            Case "铝门锁","鹅旦锁","有尾门锁"
                                'SystemReady = False
                                Forms("产品规格表2").Open
                                'SystemReady = True
                            Case Else
                                'SystemReady = False
                                Forms("产品规格表").Open
                                'SystemReady = True
                        End Select
                        
                        'If Forms("产品规格表").Opened=False Then
                        'SystemReady = False
                        'Forms("产品规格表").Open
                        'SystemReady = True
                        'ElseIf Forms("产品规格表").Visible=False Then
                        'Forms("产品规格表").Visible=True
                        'End If
                    End If
                End If
            End With
            
        Else
            
            Messagebox.Show("订单明细表中没数据!,如有疑问,请与管理员联系","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If
    Else
        MessageBox.Show("请你先在下表中选择要查询的产品,再进行点击查询!")
    End If
Else
    Messagebox.Show("你不能查看此表!,如有疑问,请与管理员联系","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)
End If

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 16:17:00 [显示全部帖子]

我是用这个按钮去查产品的,发现有些产品没错误,有部份产品就会提示出错。
[此贴子已经被作者于2014-7-17 16:17:01编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 16:49:00 [显示全部帖子]

Forms("产品规格表").Show 有问题

但个别产品没问题

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 16:51:00 [显示全部帖子]

这个在以前的版本是没问题的,是升级之后发现

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 17:10:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.7.19.1
错误所在事件:obas_part_spec,DoubleClick
详细错误信息:
对象不能从 DBNull 转换为其他类型。

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 17:11:00 [显示全部帖子]

obas_part_spec,DoubleClick

Select Case Tables("obas_part_spec").Current("产品类别")
    
    Case "铝门锁","鹅旦锁","有尾门锁"
        
        Forms("产品规格表2").Show
        
    Case Else
    
        Forms("产品规格表").Show

End Select
[此贴子已经被作者于2014-7-17 17:11:04编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 17:27:00 [显示全部帖子]

e.Form.DisableXButton()
'Dim w As Integer = SysInfo.WorkingAreaWidth
'Dim h As Integer = SysInfo.WorkingAreaHeight
'Forms("产品规格表").SetBounds(0, 0,w,h)
MessageBox.Show(1)
Forms("产品规格表").BaseForm.WindowState = System.Windows.Forms.FormWindowState.Maximized
Dim f As WinForm.Form = Forms("产品规格表")
Dim t As WinForm.Table = Forms("产品规格表").Controls("Table1")
Dim s1 As String ="0"
Dim cmb As WinForm.ComboBox
cmb =e.Form.Controls("ComboBox5")
'cmb.ComboList = DataTables("规格明细").SQLGetComboListString("type_name","obas_base_code.code_type = '115' and obas_part1.part_type like '1%'")
MessageBox.Show(2)
cmb.ComboList = DataTables("成品类别表").SQLGetComboListString("type_name","type_name <> '包装物料' and type_name <> '配件' and parent_no = '1'or parent_no like '116%'")

If Tables("obas_part_spec").Current IsNot Nothing Then
MessageBox.Show(3)
    Dim b As Boolean = Tables("obas_part_spec").Current("act_sw")
    Select Case b

        Case True
MessageBox.Show(51)
            e.Form.BackColor = Color.WhiteSmoke
MessageBox.Show(52)
        Case Else
MessageBox.Show(4)
            e.Form.BackColor = Color.LemonChiffon
    End Select
    MessageBox.Show(5)
    Dim s As String = Tables("obas_part_spec").Current("part_no")
    
    t.Table.Fill("SELECT parent_part as 内部编码,child_part,Left(unit_qty,4) As 数量,bom_sort As 排序,ov_part.item_no As 物料编码,ov_part.part_name As 名称,ov_part.part_spec As 规格,obas_part1.bom_draw_no As 图号,obas_part1.bom_draw_no_wf as 备注 ,wf_zh as 珠号 from obom_stru2 INNER JOIN ov_part on obom_stru2.child_part = ov_part.part_no INNER JOIN obas_part1 on obom_stru2.child_part = obas_part1.part_no where parent_part='" & s & "'ORDER BY 排序","erp",True)
    t.Table.SetColVisibleWidth("物料编码|70|名称|70|规格|150|数量|19|图号|99|珠号|25|备注|30")
    MessageBox.Show(6)
    Dim zt As String
MessageBox.Show(7)
    If Tables("obas_part_spec").Current("sheet_sta")="0" Then
MessageBox.Show(8)
        zt="未审核"
        MessageBox.Show(9)
    ElseIf Tables("obas_part_spec").Current("sheet_sta")="1" Then
MessageBox.Show(10)
        zt="已审核"
    End If
MessageBox.Show(zt) 
    f.Text="产品规格表 (" & zt & ")"
   MessageBox.Show(12) 
Else
MessageBox.Show(121) 
    t.Table.Fill("SELECT parent_part as 内部编码,child_part,Left(unit_qty,4) As 数量,bom_sort As 排序,ov_part.item_no As 物料编码,ov_part.part_name As 名称,ov_part.part_spec As 规格,obas_part1.bom_draw_no As 图号,obas_part1.bom_draw_no_wf as 备注,wf_zh as 珠号 from obom_stru2 INNER JOIN ov_part on obom_stru2.child_part = ov_part.part_no INNER JOIN obas_part1 on obom_stru2.child_part = obas_part1.part_no where parent_part='" & s1 & "'ORDER BY 排序","erp",True)
MessageBox.Show(13) 
    t.Table.SetColVisibleWidth("物料编码|70|名称|70|规格|150|数量|19|图号|99|珠号|25|备注|30")
MessageBox.Show(14) 
    f.Text="产品规格表"
MessageBox.Show(15) 
End If
MessageBox.Show(16)

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/17 17:28:00 [显示全部帖子]

以上代码运行时,一直到MessageBox.Show(16)才显示出错

对象不能从 DBNull 转换为其他类型。

这个错误都不知什么意思,之前都没事,不知应该如何查了。
[此贴子已经被作者于2014-7-17 17:30:14编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2014/7/18 9:21:00 [显示全部帖子]

查得原因了,原来是新版本有点问题。当打开的窗口中有CheckBox控件绑定到逻辑列,而逻辑列的内容如果在数据库中为NULL时就会出现错误提示。

 回到顶部
总数 11 1 2 下一页