Foxtable(狐表)用户栏目专家坐堂 → 分页加载的表名称为变量


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

主题:分页加载的表名称为变量

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


加好友 发短信
等级:三尾狐 帖子:722 积分:7371 威望:0 精华:0 注册:2017/2/3 10:29:00
分页加载的表名称为变量  发帖心情 Post By:2021/9/27 5:29:00 [只看该作者]

老师好。分页加载的时候,下面的语句

Dim r1 As Integer = (Page - 1) * 50 + 1
 Dim
r2 As Integer = Page * 50
 Dim
sql As String
 sql = "Sele ct * From (Sele ct Row_Number() Over(Order by [订单ID]) As RowNum, * from 订单) As a "
 sql = sql & " Where RowNum >= " & r1 & " And RowNum <= " & r2
 DataTables
(
"
订单").SQLLoad(sql)

我希望表、排序均为变量,
Dim tb_name As String = args(0)
Dim px As String = args(1)
Dim fy As Integer = args(2)
Dim r1 As Integer = (Page - 1) * fy + 1
Dim r2 As Integer = Page * fy
Dim sql As String
sql = "Sele ct * From (Sele ct Row_Number() Over(Order by [px]) As RowNum, * from tb_name) As a "
sql = sql & " Where RowNum >= " & r1 & " And RowNum <= " & r2
DataTables(tb_name).SQLLoad(sql)

执行时有错误 
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.5.29.1
错误所在事件:加载[流水]失败!
详细错误信息:
对象名 'tb_name' 无效。
而实际上tb_name的值是 【流水】 

请老师帮忙指点,谢谢!
[此贴子已经被作者于2021/9/27 5:29:36编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2021/9/27 7:24:00 [只看该作者]

sql = "Sele ct * From (Sele ct Row_Number() Over(Order by [" & px & "]) As RowNum, * from " & tb_name  & ") As a "
sql = sql & " Where RowNum >= " & r1 & " And RowNum <= " & r2

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


加好友 发短信
等级:三尾狐 帖子:722 积分:7371 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2021/9/27 15:30:00 [只看该作者]

老师,运行后出现错误


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/27 15:35:00 [只看该作者]

使用SQLLoad方法有两个原则:

1、新的Select语句不能改变表的原有结构。
2、新的Select语句也必须从相同的后台表中提取数据。


原来的流水表应该是没有RowNum这个列的,建议使用fill吧

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


加好友 发短信
等级:三尾狐 帖子:722 积分:7371 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2021/9/27 21:08:00 [只看该作者]

如何让流水表有RowNum列呢,RowNum列是自带的,还是设计表格的时候人工增加的?谢谢

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


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

根据Row_Number生成的一个动态列,虚拟的,不是实际的列。这种sql生成的表只能作为查询表使用,建议还是使用fill

 回到顶部