我正在尝试编写一种算法,该算法在运行时将遍历我的访问数据库中的一个表,并找到未使用的最小数字(=> 1)。为了澄清,这是一个记录的ID,如果我在访问中使用自动编号功能,我将无法执行我需要的任务。
例如,如果我有ID为1和3的记录;算法将检测到“2”,然后返回值2,我稍后可以使用。
不幸的是我没有任何可以提供的示例代码,但是我使用的是Microsoft Visual Studio 2010,我使用Oledb系统在VB.NET中进行编程,以提供与数据库的连接。
感谢您的帮助。
编辑:我正在考虑使用SORT查询,但我不知道我会跟进它。因此,虽然到目前为止它非常简陋,但我可以用以下方法开始算法:
SELECT StudentID FROM Students
ORDER BY StudentID;
我认为通过这样做,我可以让用户自己找到一个ID,然后设置它,但它可能会破坏我的应用程序的目的,即提供一个跟踪学生数据的自动化系统。
答案 0 :(得分:0)
select min(StudentID) + 1
from Students s1
where not exists (select 1 from Students s2
where s2.StudentID = s1.StudentID + 1)