Foxtable(狐表)用户栏目专家坐堂 → [求助]数据筛选与分页 'Row_Number()错误


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

主题:[求助]数据筛选与分页 'Row_Number()错误

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:9501 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助]数据筛选与分页 'Row_Number()错误  发帖心情 Post By:2019/12/6 19:27:00 [只看该作者]

.NET Framework 版本:4.0.30319.18063
Foxtable 版本:2019.11.3.1
错误所在事件:
详细错误信息:
语法错误 (操作符丢失) 在查询表达式 'Row_Number() Over(Order by 姓名)' 中。

 

设计好久,没找到原因

 

Dim page As Integer = 0 '默认page为0,显示第一页
Dim pageRows As Integer = 10 '每页10行
If e.GetValues.ContainsKey("page") Then  '如果地址中有page参数
    Integer.TryParse(e.GetValues("page"), page) '提取page参数
End If
Dim StartRow As Integer = page * pageRows + 1 '此页第一行
Dim EndRow As Integer = (page + 1) * pageRows '此页最后一行
'提取此页数据
Dim cmd As New SQL Command
cmd.Conne cti '记得设置数据源名称

cmd.Com mandText = "Sele ct * From (Sele ct Row_Number() Over(Order by 姓名) As [NO], 公司,部门,编号,姓名 From 人员表"
If flt > "" Then    cmd.CommandText &= " where " & flt
cmd.CommandText &= ") As a  Where [NO]>= " & StartRow & " And [NO] <= " & EndRow
Dim sdt As DataTable = cmd.ExecuteReader
Dim Count As Integer = sdt.DataRows.Count '获取总的行数

Return ""
'合成网页
With wb.AddTable("","Table1")
    .CreateFromDataTable(sdt,False,"","","no","公司","部门","编号","姓名")
End With


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


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

首先SqlServer数据库才能使用Row_Number。

如果是SqlServer,查看一下完整sql
msgbox(cmd.CommandText)

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


加好友 发短信
等级:六尾狐 帖子:1309 积分:9501 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/12/6 20:49:00 [只看该作者]

 

老师,如果是Access如何处理,

请指正

[此贴子已经被作者于2019/12/6 20:49:12编辑过]

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/6 21:05:00 [只看该作者]

只能使用这种方式分页

Dim cmd As New SQLCommand
cmd.ConnectionName = "数据源"
cmd.CommandText = "select * from {表A} where 1=2"
Dim dt As DataTable = cmd.ExecuteReader()
dt.LoadFilter = "加载条件"
dt.LoadTop = "每页行数"
dt.LoadPage = "第几页"
dt.LoadOver = "分页依据"
dt.Load()
[此贴子已经被作者于2019/12/6 21:05:03编辑过]

 回到顶部