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是随机数 展开
String chaSQL = "SELECT * FROM gui where id =" + id + "";
请问怎么写这段语句
不能用id+1,或id-1来读。因为这表的id是随机数 展开
5个回答
展开全部
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 + ";
(
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 + ";
展开全部
这个没试过,但是可以用其他的方法,比如说,先把SQL数据库的存放ID的列的数据全部读出来存放在一个数组中,再把一只id的数组下标+1或者-1,得到新的id,再用SQL语句来查询这个新的id就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的数据表行是按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" ;
//上一行
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" ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
另外还可以用游标来诈取数据,这比其它的要快,但就是比较麻烦,比其它,自己权重一下吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这样应该可以读的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询