以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sqlload (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134724) |
-- 作者:blackzhu -- 发布时间:2019/5/5 10:57:00 -- sqlload sqlload 的分页查询的速度是不是比较慢? |
-- 作者:有点甜 -- 发布时间:2019/5/5 11:00:00 --
得看你代码怎么写。简化你的代码,然后测试
https://blog.csdn.net/weixin_37610397/article/details/80892426
|
-- 作者:blackzhu -- 发布时间:2019/5/5 11:07:00 -- 行,另外 标色除了 darwcell 外,还有其他方式吗? |
-- 作者:有点甜 -- 发布时间:2019/5/5 11:09:00 -- 以下是引用blackzhu在2019/5/5 11:07:00的发言:
行,另外 标色除了 darwcell 外,还有其他方式吗?
参考
Dim t As Table = Tables("表A") |
-- 作者:blackzhu -- 发布时间:2019/5/5 11:20:00 -- 好,谢谢! S elec t * From (Sel ect Row_Number() Over(Order by [GUID]) As RowNum, * from T7_消费明细表 With(nolock) where 1=1 And 日期 >= \'2019-03-01\' And 日期< = \'2019-05-05\' And 分院=\'苏州姑苏美奥\') As a Wh ere RowNum >= 6001 And RowNum <= 9000 按照方式做的分页,明明分页已经生成,但是加载的数据还是第一页的 3000条,这个问题在什么地方. 而且第一页查询速度非常快, 下一页就比较慢了. 函数是这样写的 Public Sub loadData(ByVal e As Object, ByVal Filter As String) Dim r1 As Integer = (Page - 1) * 3000 + 1 Dim r2 As Integer = Page * 3000 Dim sql As String sql = "Se lect * From (Sel ect Row_Number() Over(Order by [GUID]) As RowNum, * from T7_消费明细表 With(nolock) where " & Filter & ") As a " sql = sql & " Wh ere RowNum >= " & r1 & " And RowNum <= " & r2 MessageBox.Show(sql) e.Form.StopRedraw() DataTables(TableName1).StopRedraw() DataTables(TableName1).SQLLoad(sql) Tables(TableName1).Sort = "日期" Tables(TableName1).ScrollPosition = New Point(0, 0) DataTables(TableName1).ResumeRedraw() end sub 执行是这样写的 Case "下一页" If Vars("查询条件") > "" Then If Page < Pages(e, Vars("查询条件")) Then Page = Page + 1 loadData(e, Vars("查询条件")) End If End If pages 函数是跟帮助照抄的 |
-- 作者:有点甜 -- 发布时间:2019/5/5 11:27:00 -- 1、单独执行sql语句,得到的数据是否正确?
2、请单独执行,如 datatables("表A").SQLLoad(sql语句) |
-- 作者:blackzhu -- 发布时间:2019/5/5 11:30:00 -- 我得到的SQL 语句这样写有问题吗? 如果没问题 那不应该呀? 你说的 单独执行是什么意思? [此贴子已经被作者于2019/5/5 11:32:03编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/5 11:31:00 -- 你去sql测试窗口那里测试一下即可啊。 |
-- 作者:blackzhu -- 发布时间:2019/5/5 11:32:00 -- 以下是引用有点甜在2019/5/5 11:09:00的发言:
参考
Dim t As Table = Tables("表A") 这个能根据某一列的数据来标色吗? |
-- 作者:有点甜 -- 发布时间:2019/5/5 11:41:00 --
那你就判断某行某列的值,然后再设置样式。
|