以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  用户咨询  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=4)
----  [求助]可否能从数据库尾部开始执行查询?  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=4&id=23523)

--  作者:pc_doctor
--  发布时间:2009-3-17 23:13:09
--  [求助]可否能从数据库尾部开始执行查询?

尽管开始我一听客户对此要求也觉得诧异,但是听完他的解释后又觉得他的需求很必要:

——数据库的定位查询关键字段在数据库中有很多的重复记录(比如:员工的工作日志记录中的姓名)。使用定位查询是通过姓名查询定位记录后,将该员工的最新工作日志内容项提取拷贝出来。随着数据库的日益增多,原来的定位查询总是从数据库的首部开始查询,这样一来,就取不了该员工的最新工作日志了,因为他的最新工作日志在数据库的尾部了。(注:原程序中只能使用定位查询为最佳,过中细节在这里一时说不清)。

现请问ADMIN或高手们——能否使定位查询从数据库的尾部开始查询或其他变通的方法能实现此需求!

谢谢!


--  作者:FSJM
--  发布时间:2009-3-18 0:14:17
--  
按时间排序就应该可以达到目的.
--  作者:pc_doctor
--  发布时间:2009-3-18 0:18:37
--  

原数据库中没有时间字段等可借用字段。呜哇,这就是难题所在。

肯定谁也不愿意去动数据库结构,因为字段结构变化后,会涉及到很多的数据操作数等等之等等的问题出来,就相当于重新编写一遍程序了,工作量实在太大了。

所以,才想到能否从数据库尾部开始查询这个苦方儿出来。




--  作者:FSJM
--  发布时间:2009-3-18 0:26:37
--  
把你的"数据表"结构传上来,看看能有什么可利用的.
--  作者:pc_doctor
--  发布时间:2009-3-18 0:29:42
--  
原数据库中没有时间字段等可借用字段。
--  作者:new
--  发布时间:2009-3-18 8:41:27
--  
使用ID也可以.
--  作者:玩脑者
--  发布时间:2009-3-18 9:55:13
--  

看到你要提取的是该员工的工作日志,按理来说,既然是工作日志,怎么会没有“日期”字段呢?是不是数据库结构设计有不足之处呢?

另外,可以考虑一下用记录循环+定位查询,记录循环用“从下到上”你可以试一下,我没试,不知行不行。。


--  作者:引力波
--  发布时间:2009-3-19 8:08:14
--  
在打开项目之初,即窗口可见时就执行ADO数据表"到最后记录"事件,然后按照条件定位查询,你看如何?
--  作者:玩脑者
--  发布时间:2009-3-19 11:21:44
--  
楼上说的不可行,因为定位查询:不管记录指针在什么位置,只要执行定位查询就会从第1条记录开始的。
--  作者:pc_doctor
--  发布时间:2009-3-19 19:32:03
--  
以下是引用玩脑者在2009-3-19 11:21:44的发言:
楼上说的不可行,因为定位查询:不管记录指针在什么位置,只要执行定位查询就会从第1条记录开始的。

确实,正如你所说以及楼上的诸位回复:不管是 按时间排序就应该可以达到目的 // 使用ID也可以 // 执行ADO数据表"到最后记录 // 等等,定位查询都一定会从数据库的物理顺序第一条记录开始查询的。

请大家看看实例的思路,看看是否能变通实现需求;

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件: