以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于判断统计表存在的问题。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51276)

--  作者:wh420
--  发布时间:2014/5/23 10:09:00
--  关于判断统计表存在的问题。
case "变量1“
dim dt as datatable
Dim b As New GroupTableBuilder("统计表",DataTables("Tran"))
b.Groups.AddDef("Language")
        b.Totals.AddDef("TNumber",AggregateEnum.Count,"记录数") 
        b.FromServer = True
 If  Tables.Contains("统计表")=False Then
            dt = b.Build(False)
End If
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.CreateTree(dt, "Language")
end select
————————————————————————
上面代码中如果表不存在则生成表没问题,但如果表存在了就报错”未将对象引用设置到对象的实例。“ 是不是其中这一段我写的不对?应该怎样处理一下?
 If  Tables.Contains("统计表")=False Then
            dt = b.Build(False)
End If





--  作者:Bin
--  发布时间:2014/5/23 10:12:00
--  
如果表存在.就没有执行  dt = b.Build(False)  也就是没有生成一个表为DT赋值

Name你下面的代码trv.CreateTree(dt, "Language")  这个时候DT是空的,当然会报空值错误了.

你应该把下面的代码都放到IF代码段里面去.

--  作者:wh420
--  发布时间:2014/5/23 10:18:00
--  
可是放到IF里面去,条件不满足仍然没有为DT赋值啊?
--  作者:Bin
--  发布时间:2014/5/23 10:19:00
--  
但是同时也不会执行 trv.CreateTree(dt, "Language")  
--  作者:wh420
--  发布时间:2014/5/23 10:22:00
--  
因为我的这个目录是根据统计表里的字段动态生成的,以上代码是放在导航栏的”selectedindexchanged"事件中,所以每次切换就刷新一次,结果就出现了这样的问题,请问有什么更好的办法完善一下?
[此贴子已经被作者于2014-5-23 10:23:14编辑过]

--  作者:有点甜
--  发布时间:2014/5/23 10:26:00
--  

代码

 

Case "变量1"
    Dim dt As DataTable
    If  Tables.Contains("统计表")=False Then
       
        Dim b As New GroupTableBuilder("统计表",DataTables("Tran"))
        b.Groups.AddDef("Language")
        b.Totals.AddDef("TNumber",AggregateEnum.Count,"记录数")
        b.FromServer = True
       
        dt = b.Build(False)
    Else
        dt = Tables("统计表").DataTable
    End If
    Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
    trv.CreateTree(dt, "Language")
End Select


--  作者:wh420
--  发布时间:2014/5/23 10:34:00
--  
明白了,问题解决。感谢两位老师
--  作者:wh420
--  发布时间:2014/5/23 11:45:00
--  

 

[此贴子已经被作者于2014-5-23 12:00:19编辑过]

--  作者:wh420
--  发布时间:2014/5/23 11:59:00
--  
再次诚恳请教两位老师
--  作者:wh420
--  发布时间:2014/5/23 12:00:00
--  
新增加了一些数据,但前面已经做了判断如果统计表存在就不生成统计表,那这样统计表里的数据就不会更新。不管你怎样新增数据,目录数还是原来的那些记录
[此贴子已经被作者于2014-5-23 12:01:10编辑过]