以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 分页加载的表名称为变量 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=172150) |
-- 作者:tld -- 发布时间: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编辑过]
|
-- 作者:浙江仔 -- 发布时间: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 -- 发布时间:2021/9/27 15:30:00 -- 老师,运行后出现错误 |
-- 作者:有点蓝 -- 发布时间:2021/9/27 15:35:00 -- 使用SQLLoad方法有两个原则: 1、新的Select语句不能改变表的原有结构。 原来的流水表应该是没有RowNum这个列的,建议使用fill吧 |
-- 作者:tld -- 发布时间:2021/9/27 21:08:00 -- 如何让流水表有RowNum列呢,RowNum列是自带的,还是设计表格的时候人工增加的?谢谢 |
-- 作者:有点蓝 -- 发布时间:2021/9/27 21:33:00 -- 根据Row_Number生成的一个动态列,虚拟的,不是实际的列。这种sql生成的表只能作为查询表使用,建议还是使用fill |