以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 遇到不明原因的错误提示(140719) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53895) |
-- 作者:yankunhao -- 发布时间:2014/7/17 16:05:00 -- 遇到不明原因的错误提示(140719) 请问出现如下错误是什么原因?如何查呢? .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2014.7.19.1 错误所在事件:窗口,销售订单管理,Button04,Click 详细错误信息: Object cannot be cast from DBNull to other types.
|
-- 作者:Bin -- 发布时间:2014/7/17 16:07:00 -- 错误所在事件:窗口,销售订单管理,Button04,Click 代码发出来看看
|
-- 作者:yankunhao -- 发布时间: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 -- 发布时间:2014/7/17 16:17:00 -- 我是用这个按钮去查产品的,发现有些产品没错误,有部份产品就会提示出错。 [此贴子已经被作者于2014-7-17 16:17:01编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/7/17 16:19:00 -- 用msgbox测试,在哪个位置报错。
http://www.foxtable.com/help/topics/1485.htm
|
-- 作者:yankunhao -- 发布时间:2014/7/17 16:49:00 -- Forms("产品规格表").Show 有问题 但个别产品没问题
|
-- 作者:yankunhao -- 发布时间:2014/7/17 16:51:00 -- 这个在以前的版本是没问题的,是升级之后发现 |
-- 作者:有点甜 -- 发布时间:2014/7/17 16:52:00 -- 以下是引用yankunhao在2014-7-17 16:49:00的发言:
Forms("产品规格表").Show 有问题 但个别产品没问题
如果这个有问题,就去看这个窗口的AfterLoad事件,再调试一下错误。
|
-- 作者:yankunhao -- 发布时间:2014/7/17 17:10:00 -- .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2014.7.19.1 错误所在事件:obas_part_spec,DoubleClick 详细错误信息: 对象不能从 DBNull 转换为其他类型。
|
-- 作者:yankunhao -- 发布时间: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编辑过]
|