c# - 从 SQL Server 获取下一行

标签 c# sql winforms

我在 SQL Server 中有一个包含列 id, name, address 的表,其中 id 是具有自动递增整数的主键。

我在 winforms 应用程序中有一个表单,其中有两个按钮:

1 previous
2 next

我想要这个功能,即当我点击上一个按钮时,我可以从表中获取所选行的前一行。同样,当我点击下一步按钮时,我可以获得所选行的下一行....

我的表格是这样的

enter image description here

最佳答案

您可以选择行 ID 大于/小于当前 ID 的前 1 行,因此如果您的 ID 为 123,您可以选择 ID 大于 123 的前 1(第一)行,而无需知道以下应为 124。与上一行相同。

因为它是 PK,所以应该对行进行排序,因此您不需要添加排序命令。 当然,从第一行开始询问上一行,或者在最后一行之后询问下一行时,您应该小心。

declare @CurrentID int = 123;
select top 1 * from [MyTable] where [MyTable].[ID] > @CurrentID;

当然,您最好使用缓存机制来实现它,以避免为每个按钮点击进行数据库查询,这样您就可以将一堆行查询到您的应用程序内存中,而不是通过索引查找上一个或下一个项目。

关于c# - 从 SQL Server 获取下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11557304/

相关文章:

c# - 为什么此代码忽略等待并继续进行?

php - fatal error : Call to undefined function sqlsrv_connect() in C:\xampp\htdocs

c# - 拖放至 Windows 窗体问题

c# - 创建长期运行的工作流服务

c# - 使用 C#/Windows 窗体的简单动画

c# - Entity Framework 并发

php - 准备好的查询中的可选参数

sql - 选择现有值或插入新行的功能

c# - 在主窗体中创建子窗体

c# - ListView 子项中的图像