以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]分页加载遇到难题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85335)

--  作者:新航程小何
--  发布时间:2016/5/23 16:18:00
--  [求助]分页加载遇到难题
各位老师,我先项窗口的表绑定一张查表:

dim cmd as new sqlcommand
dim dt as datatables
cmd.c
 cmd.CommandText = "select Province as \'省份\',City as \'城市\',Town as \'区县\',Countryside as  \'乡镇\',Country as  \'村\' f rom {N_RelaNQ} inner join {N_ServiceAddr} on {N_RelaNQ}.AddrId={N_ServiceAddr}.AddrId  where InstiUserId=\'" & Vars("InstiID") & "\'"
 dt = cmd.ExecuteReader()
Tables("InstiWorkList_table1").DataSource =dt

然后写了分页加载的代码:
                With DataTables("InstiWorkList_table4")
                    .LoadFilter = "" \'清除加载条件
                    .LoadPage = 0 \'加载第一页
                    .LoadTop = 5 \'每页5行
                    .Load()
MessageBox.show(.TotalPages)
                    Forms("InstiWorkList").Controls("TextBox1").Value = 1 & "/" & .TotalPages
                End With
结果:messagebox.show返回的结果是-1,请问老师问题出哪了?
[此贴子已经被作者于2016/5/23 16:19:35编辑过]

--  作者:大红袍
--  发布时间:2016/5/23 16:23:00
--  

加上_Identify列试试

 

select {N_RelaNQ}.[_Identify] * 10000 + {N_ServiceAddr}.[_Identify] as _Identify, Province as \'省份\',


--  作者:新航程小何
--  发布时间:2016/5/23 16:34:00
--  
老师,有点看不懂你的代码?你的意思是让我把主键也加上吗?
--  作者:大红袍
--  发布时间:2016/5/23 16:35:00
--  

在sql语句那里加上2楼的代码。

 

如果也不行的话,分页就不能那样做了,必须单独编写sql语句分页。


--  作者:新航程小何
--  发布时间:2016/5/23 16:40:00
--  
好吧,不行
--  作者:大红袍
--  发布时间:2016/5/23 16:44:00
--  

那就单独编写sql语句,比如

 

http://www.foxtable.com/help/topics/2721.htm

 

select top 25 * f rom {表A} where [_identify] not in (select top 25*2 [_identify] f rom {表A} order by [_identify]) order by [_identify]

 


--  作者:新航程小何
--  发布时间:2016/5/23 17:08:00
--  
恩恩,我在看教程的时候被搞晕了
Select * F rom (S elect Row_Number() Over(Order by [订单ID]) As RowNum, * f rom 订单) As a Where RowNum >= 1 And RowNum <= 50
这句代码怎么解读

--  作者:大红袍
--  发布时间:2016/5/23 17:15:00
--  

对于 订单表,根据 订单id,从1-n进行编号,然后取1-50行