(VB.NET 2010) 如何编写一个 SQL 查询来选择最低未使用的数字

(VB.NET 2010) How to write an SQL query which selects the lowest unused number

我正在尝试编写一种算法,当 运行 时,它将通过我的访问数据库中的 table 并找到未使用的最小数字 (=> 1)。澄清一下,这是记录的 ID,如果我在 access 中使用自动编号功能,我将无法执行我需要执行的任务。

例如,如果我有 ID 为 1 和 3 的记录;该算法将检测到“2”,然后 return 值 2,我稍后可以使用它。

不幸的是,我没有可以提供的示例代码,但我使用的是 Microsoft Visual Studio 2010,并且我在 VB.NET 中使用 Oledb 系统进行编程以提供与我的数据库。

感谢您的帮助。

编辑:我正在考虑使用 SORT 查询,但我不知道我会用什么来跟进它。因此,虽然到目前为止它还很初级,但我可以从以下开始算法:

SELECT StudentID FROM Students
ORDER BY StudentID;

我想通过这样做我可以让用户自己找到一个 ID 然后设置它,但这可能会破坏我的应用程序提供一个自动系统来跟踪学生数据的目的。

select min(StudentID) + 1
from Students s1
where not exists (select 1 from Students s2
                  where s2.StudentID = s1.StudentID + 1)