怎样定位到记录号为N的记录上?(简单的问题,容易得分)
问题点数:20、回复次数:15Top
1 楼dragonfive(龙五)回复于 2001-11-20 10:40:18 得分 0
有人帮忙吗?答对一定给分!Top
2 楼V_Lucky(最优解)回复于 2001-11-20 10:45:21 得分 0
你的数据库是SQL SERVER 还是其它?Top
3 楼wennn(水到渠成)回复于 2001-11-20 10:45:34 得分 0
用table1.recno:=N;行不行?Top
4 楼xxmmmx(踢踏)回复于 2001-11-20 10:48:53 得分 0
Dbgrid1.DataSource.DataSet.RecNo:=iRecNoTop
5 楼dragonfive(龙五)回复于 2001-11-20 10:50:57 得分 0
数据库为PARADOX用TABLE能做到吗?Top
6 楼pantera(残酷真理)回复于 2001-11-20 10:52:17 得分 0
用LOCATETop
7 楼Focus(西门大灌人)回复于 2001-11-20 10:52:50 得分 20
能
看下面的代码
function go(n:integer);
begin
with table do
begin
while recno<N do prior;
while recno>N do next;
end
endif
我就是这么做的
Top
8 楼byrybye(阿水)回复于 2001-11-20 10:56:50 得分 0
同意老鱼,
其实数据应该上没有 第 N个记录的
概念的吧Top
9 楼dragonfive(龙五)回复于 2001-11-20 10:57:02 得分 0
老鱼,谢谢,可是这样如果数据库很大不是效率很低吗?有没有更好的办法?Top
10 楼Focus(西门大灌人)回复于 2001-11-20 11:01:05 得分 0
别的办法嘛
就是你为每一个表多建立一个记录号字段
然后时时更新
其实对于数据库来讲
记录号完全是多余的东西
并不能唯一用来指定一条记录
这是foxpro的产物
在别的数据库中不支持是对的
原来还不理解现在明白了
Top
11 楼ai_daoluan(捣乱)回复于 2001-11-20 11:01:57 得分 0
可以给表加上一个自增字段,类似于F_Id numeric identity(1,1),然后就可以通过该字段来得到记录号、分页显示等;在SQL SERVER下我已经这样用过了,用于查询时分页显示,其他数据库没用过。Top
12 楼li_zhifu(东北人)回复于 2001-11-20 11:06:01 得分 0
function go(n:integer);
begin
with table do
begin
DisableControls;
while recno<N do prior;
while recno>N do next;
EnableControls;
end
Top
13 楼dragonfive(龙五)回复于 2001-11-20 11:06:23 得分 0
用自增字段,若删除其中的一个记录,它就空出一个值出来了Top
14 楼Focus(西门大灌人)回复于 2001-11-20 11:08:08 得分 0
用自增字段是不行的
一旦发生在中间的删除就破坏了
而且不能更新的Top
15 楼dragonfive(龙五)回复于 2001-11-20 11:20:54 得分 0
谢谢大家Top




