C# 读SQL数据中上一行或一下行,怎么写?

有一张SQL数据表中,要求已知行的id,怎么写读上一行或读下一行,不能用id+1,或id-1来读。StringchaSQL="SELECT*FROMguiwhereid=... 有一张SQL数据表中,要求已知行的id,怎么写读上一行或读下一行,不能用id+1,或id-1来读。

String chaSQL = "SELECT * FROM gui where id =" + id + "";

请问怎么写这段语句
不能用id+1,或id-1来读。因为这表的id是随机数
展开
 我来答
poebee
2009-08-21 · 超过28用户采纳过TA的回答
知道答主
回答量:193
采纳率:0%
帮助的人:93.4万
展开全部
declare @info table
(
cid int identity(1,1),
....你的表格的全部字段
)
insert into @info(你的表格的全部字段)
select
*
from
gui

String chaSQL = 前面的那些 + "SELECT * FROM @info where id =" + id + "";

然后就可以通过连续的id 查上一行下一行了

还有一种方法

String chaSQL = "SELECT * FROM gui where id =" + id + "";

下一行数据 "select top 1 * from gui where id > " + id + ";
上一行 "select top 1 * from gui where id < " + id + ";
LK_soso
2009-08-21 · TA获得超过278个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:190万
展开全部
这个没试过,但是可以用其他的方法,比如说,先把SQL数据库的存放ID的列的数据全部读出来存放在一个数组中,再把一只id的数组下标+1或者-1,得到新的id,再用SQL语句来查询这个新的id就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anbrelor
2009-08-21 · TA获得超过109个赞
知道答主
回答量:121
采纳率:0%
帮助的人:77.7万
展开全部
你的数据表行是按id排序的吗,也不一定是加一递增的吧?
//上一行
String upSQL = "SELECT top 1 * FROM gui where id >" + id + " order by id asc" ;
//下一行
String downSQL = "SELECT top 1 * FROM gui where id <" + id + " order by id desc" ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
epfquve2000
2009-08-23 · TA获得超过102个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:105万
展开全部
另外还可以用游标来诈取数据,这比其它的要快,但就是比较麻烦,比其它,自己权重一下吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
止易巧0p
2009-08-21 · TA获得超过482个赞
知道小有建树答主
回答量:325
采纳率:0%
帮助的人:264万
展开全部
你这样应该可以读的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式