以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口分页加载外部表部分列出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142463)

--  作者:Jaime
--  发布时间:2019/10/28 11:59:00
--  窗口分页加载外部表部分列出错
老师好!
      一个SQL Server外部数据表有500W行, 我在窗口里用SQLTable类型表,Select语句:Select  [物料编码],[物料描述],[计量单位],[备注],[_Identify] Fr om {ERP物料编码}

窗口AfterLoad事件代码如下:
      \'生成目录树
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 大类,中类,小类,品名 Fr om {ERP物料编码}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"大类|中类|小类|品名")
trv.Nodes.Insert("加载所有数据",0)
\'加载第一页数据
With DataTables("窗口1_Table1")
    .LoadFilter = "" \'清除加载条件
    .LoadPage = 0 \'加载第一页
    .LoadTop = 25 \'每页25行
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With

当打开运行窗口时报错

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20191027213809.jpg
图片点击可在新窗口打开查看
然后就超时。

我更改Select语句:Select  top 10 [物料编码],[物料描述],[计量单位],[备注],[_Identify] Fr om {ERP物料编码} 
这样就能打开窗口不报错了,但感觉比较慢,大约要30秒,点击节点后大约10秒刷新。
请问老师:
     1、为什么Select语句加了top 10后不报错,和窗口代码.LoadTop = 25  不冲突吗?
     2、此项目主要用途是从第4个节点下查找需要的物料编码和对应行内容到另一个表,是否有更好的方式(速度流畅)解决方案?    



--  作者:有点蓝
--  发布时间:2019/10/28 12:05:00
--  
Select语句改为:Select  [物料编码],[物料描述],[计量单位],[备注],[_Identify] Fr om {ERP物料编码} where 1=2,意思初始不加载任何数据

感觉比较慢,大约要30秒 -- 这个应该是加载目录树慢,而不是加载25行数据慢