Foxtable(狐表)用户栏目专家坐堂 → sqlload


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

主题:sqlload

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
sqlload  发帖心情 Post By:2019/5/5 10:57:00 [只看该作者]

sqlload 的分页查询的速度是不是比较慢?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/5 11:00:00 [只看该作者]

 

得看你代码怎么写。简化你的代码,然后测试

 

https://blog.csdn.net/weixin_37610397/article/details/80892426

 

 

 


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/5 11:07:00 [只看该作者]

行,另外 标色除了 darwcell  外,还有其他方式吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/5 11:09:00 [只看该作者]

以下是引用blackzhu在2019/5/5 11:07:00的发言:
行,另外 标色除了 darwcell  外,还有其他方式吗?

 

参考

 

Dim t As Table = Tables("表A")
Dim cs1 As C1.Win.C1FlexGrid.CellStyle = t.Grid.Styles.Add("样式1")
cs1.backcolor = Color.red
cs1.forecolor = color.blue
t.Grid.SetCellStyle(0, 2, cs1)


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By: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 函数是跟帮助照抄的

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/5 11:27:00 [只看该作者]

1、单独执行sql语句,得到的数据是否正确?

 

2、请单独执行,如 datatables("表A").SQLLoad(sql语句)


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/5 11:30:00 [只看该作者]

我得到的SQL 语句这样写有问题吗? 如果没问题 那不应该呀?  你说的 单独执行是什么意思?
[此贴子已经被作者于2019/5/5 11:32:03编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/5 11:31:00 [只看该作者]

你去sql测试窗口那里测试一下即可啊。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/5 11:32:00 [只看该作者]

以下是引用有点甜在2019/5/5 11:09:00的发言:

 

参考

 

Dim t As Table = Tables("表A")
Dim cs1 As C1.Win.C1FlexGrid.CellStyle = t.Grid.Styles.Add("样式1")
cs1.backcolor = Color.red
cs1.forecolor = color.blue
t.Grid.SetCellStyle(0, 2, cs1)



这个能根据某一列的数据来标色吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/5 11:41:00 [只看该作者]

 

那你就判断某行某列的值,然后再设置样式。

 

 


 回到顶部
总数 11 1 2 下一页