怎么在前台得到SQLSERVER的诸如前一条记录?在线等!

时间:2021-01-01 18:02:20
我的前台是VFP,form中一个几个text和一个grid!
text中显示一个order的信息(也就是SQLSERVER中一条orders表的一条记录的属性信息),grid中显示order一条记录的order_detail明细信息(也就是SQLSERVER中order_detail的对应当前orders记录的多条记录),我怎么样做能在点击一个前按钮,得到SQLSERVER中orders表的当前记录的前一条记录?

8 个解决方案

#1


我怎么样做能在点击一个前按钮,得到SQLSERVER中orders表的当前记录的前一条记录?
不是很明白,在详细一些。
是否可以通过@@IDNTITY获得当前的ID,然后-1既是前一条记录。

#2


用recordset和移动方法啊
    Record.MovePrevious  '前一条记录
    record.MoveFirst     '第一条记录
    record.MoveNext      '下一条记录
    record.MoveLast      '最后一条记录

#3



    可以把一个唯一字段的值,赋给窗体的hint属性(字符型)或者tag属性(整型),
然后用这个值来查询记录。

#4


谢谢大家先!
to : leimin(黄山光明顶)
因为我的前台的cursor(vfp中的cursor)只记录了一条sqlserver的orders记录!
我想点机,把cursor记录的数据变为sqlserver中中orders表中的另一条记录(也就是
当前cursor记录的SqLserver中的前一条!
(是否可以通过@@IDNTITY获得当前的ID,然后-1既是前一条记录。)
如果中间有断号怎么办?而且前台是vfp,怎么得到@@IDNTITY值?

to:zjcxc(邹建) 
在vfp前台就记录了一条记录,也就是record一条,move没用,我要得到后台的下一条,写入到前台!

to: zsjzwj(北极熊) 
能具体点吗?vfp中spt技术怎么做,如果中间有断号怎么办?

#5


那你的记录有编号吗?
有编号就可以通过编号来查询到上一条记录

#6


有,如果我当前在前台vfp中cursor中记录的那条SQLSERVER中orders的一条记录,
order_id=5,那我用什么办法去得到sqlserver中orders表的order_id=4(如果order_id
断号,可能就是order_id=3.or.=2,)的那条记录,而且得到后那把那条记录覆盖vfp中
cursor当前的记录,是要用sqlserver的存储过程来完成吗?还是有其它简单的办法,
如果只能用存储过程,那这个存储过程是不是要入口两个参数(表名,id),一个出口参数
(前一条的id)?
请哪位大哥能帮我写写,就写获得前一条和最后一条的就可以了,其它下一条,最前一条我再
来模仿,谢谢了,我真的对SQLSERVER不是很熟,而且现在特别急,我当感激不尽!

#7


假设当前记录为5,即:order_id=5
取得前一条:
select top 1 * from 表名 where order_id<5 order by order_id desc
取得下一条:
select top 1 * from 表名 where order_id>5 order by order_id

取得第一条:
select top 1 * from 表名 order by order_id
取得最后一条:
select top 1 * from 表名 order by order_id desc

#8


谢谢zjcxc(邹建) 老兄!

#1


我怎么样做能在点击一个前按钮,得到SQLSERVER中orders表的当前记录的前一条记录?
不是很明白,在详细一些。
是否可以通过@@IDNTITY获得当前的ID,然后-1既是前一条记录。

#2


用recordset和移动方法啊
    Record.MovePrevious  '前一条记录
    record.MoveFirst     '第一条记录
    record.MoveNext      '下一条记录
    record.MoveLast      '最后一条记录

#3



    可以把一个唯一字段的值,赋给窗体的hint属性(字符型)或者tag属性(整型),
然后用这个值来查询记录。

#4


谢谢大家先!
to : leimin(黄山光明顶)
因为我的前台的cursor(vfp中的cursor)只记录了一条sqlserver的orders记录!
我想点机,把cursor记录的数据变为sqlserver中中orders表中的另一条记录(也就是
当前cursor记录的SqLserver中的前一条!
(是否可以通过@@IDNTITY获得当前的ID,然后-1既是前一条记录。)
如果中间有断号怎么办?而且前台是vfp,怎么得到@@IDNTITY值?

to:zjcxc(邹建) 
在vfp前台就记录了一条记录,也就是record一条,move没用,我要得到后台的下一条,写入到前台!

to: zsjzwj(北极熊) 
能具体点吗?vfp中spt技术怎么做,如果中间有断号怎么办?

#5


那你的记录有编号吗?
有编号就可以通过编号来查询到上一条记录

#6


有,如果我当前在前台vfp中cursor中记录的那条SQLSERVER中orders的一条记录,
order_id=5,那我用什么办法去得到sqlserver中orders表的order_id=4(如果order_id
断号,可能就是order_id=3.or.=2,)的那条记录,而且得到后那把那条记录覆盖vfp中
cursor当前的记录,是要用sqlserver的存储过程来完成吗?还是有其它简单的办法,
如果只能用存储过程,那这个存储过程是不是要入口两个参数(表名,id),一个出口参数
(前一条的id)?
请哪位大哥能帮我写写,就写获得前一条和最后一条的就可以了,其它下一条,最前一条我再
来模仿,谢谢了,我真的对SQLSERVER不是很熟,而且现在特别急,我当感激不尽!

#7


假设当前记录为5,即:order_id=5
取得前一条:
select top 1 * from 表名 where order_id<5 order by order_id desc
取得下一条:
select top 1 * from 表名 where order_id>5 order by order_id

取得第一条:
select top 1 * from 表名 order by order_id
取得最后一条:
select top 1 * from 表名 order by order_id desc

#8


谢谢zjcxc(邹建) 老兄!