Foxtable(狐表)用户栏目专家坐堂 → [求助] 生成目录树速度慢


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

主题:[求助] 生成目录树速度慢

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


加好友 发短信
等级:小狐 帖子:341 积分:3428 威望:0 精华:0 注册:2014/8/20 20:14:00
[求助] 生成目录树速度慢  发帖心情 Post By:2022/6/26 19:17:00 [只看该作者]

Dim tv As WinForm.TreeView
tv = e.Form.Controls("TreeView1")
Dim Arys1 As List(Of String())
Arys1 = DataTables("流水账").GetValues("科目表_一级|科目表_二级|科目表_三级|科目表_四级|科目表_五级")
With DataTables ("临时目录树表")
    .StopRedraw   
    .DataRows.Clear
    For Each Ary1 As String() In Arys1          
        Dim dr As DataRow = DataTables("临时目录树表").AddNew 
        dr("一级科目") = Ary1(0)
        dr("二级科目") = Ary1(1)
        dr("三级科目") = Ary1(2)
        dr("四级科目") = Ary1(3)
        dr("五级科目") = Ary1(4) 
    Next
    Dim Arys2 As List(Of String()) 
    Arys2 = DataTables("流水账").GetValues("对方科目_一级|对方科目_二级|对方科目_三级|对方科目_四级|对方科目_五级")
    For Each Ary2 As String() In Arys2       
        Dim dr As DataRow = DataTables("临时目录树表").AddNew 
        dr("一级科目") = Ary2(0)
        dr("二级科目") = Ary2(1)
        dr("三级科目") = Ary2(2)
        dr("四级科目") = Ary2(3)
        dr("五级科目") = Ary2(4) 
    Next
    .Save 
    .ResumeRedraw
End With
tv.BuildTree("临时目录树表", "一级科目|二级科目|三级科目|四级科目|五级科目")
[此贴子已经被作者于2022/6/26 19:17:58编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/26 20:55:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.ConnectionName = "数据源名称"
cmd
.CommandText = "SELECT DISTINCT 科目表_一级 as 一级科目, 科目表_二级 as 二级科目,科目表_三级 as 三级科目,科目表_四级 as 四级科目,科目表_五级 as 五级科目 From {流水账} union SELECT DISTINCT 对方科目_一级 as 一级科目, 对方科目_二级 as 二级科目,对方科目_三级 as 三级科目,对方科目四级 as 四级科目,对方科目_五级 as 五级科目 From {流水账}"
Dim dt As DataTable= cmd.ExecuteReader()
Dim
 trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv
.BuildTree(dt,"一级科目|二级科目|三级科目|四级科目|五级科目")


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


加好友 发短信
等级:小狐 帖子:341 积分:3428 威望:0 精华:0 注册:2014/8/20 20:14:00
  发帖心情 Post By:2022/6/26 22:23:00 [只看该作者]

Dim cmd As New SQLCommand

cmd.ConnectionName = "cwsj"

 

cmd.CommandText = "S  ELECT   DISTINCT 科目表_一级 as 一级科目, 科目表_二级 as 二级科目,科目表_三级 as 三级科目,科目表_四级 as 四级科目,科目表_五级 as 五级科目 Fro  m{流水账} union S  ELECT DISTINCT 对方科目_一级 as 一级科目, 对方科目_二级 as 二级科目,对方科目_三级 as 三级科目,对方科目四级 as 四级科目,对方科目_五级 as 五级科目 Fro   m{流水账}"

Dim dt As DataTable = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "一级科目|二级科目|三级科目|四级科目|五级科目")

 

运行错误

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.6.22.1
错误所在事件:
详细错误信息:
至少一个参数没有被指定值。

[此贴子已经被作者于2022/6/26 22:31:02编辑过]

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/26 22:32:00 [只看该作者]

检查一下列名

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


加好友 发短信
等级:小狐 帖子:341 积分:3428 威望:0 精华:0 注册:2014/8/20 20:14:00
  发帖心情 Post By:2022/6/26 22:40:00 [只看该作者]

cmd.CommandText = "S  ELECT DISTINCT 科目表_一级 as 一级科目,科目表_二级 as 二级科目,科目表_三级 as 三级科目,科目表_四级 as 四级科目,科目表_五级 as 五级科目 Fro  m{流水账} union S  ELECT DISTINCT 对方科目_一级 as 一级科目,对方科目_二级 as 二级科目,对方科目_三级 as 三级科目,对方科目四级 as 四级科目,对方科目_五级 as 五级科目 Fro  m{流水账}"

 

没错啊


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


加好友 发短信
等级:小狐 帖子:341 积分:3428 威望:0 精华:0 注册:2014/8/20 20:14:00
  发帖心情 Post By:2022/6/26 22:44:00 [只看该作者]

找到了,谢谢

 


 回到顶部