Vb.net 自动id分配

Vb.net 自动id分配,vb.net,visual-studio,visual-studio-2012,Vb.net,Visual Studio,Visual Studio 2012,我是一名学生,在使用自动增量时遇到问题,因为当我删除一行时,它将继续递增。解释: 我想自动增加id 因此: 现在,我删除了第3行,当我单击“新建”按钮时,它将转到id 4而不是id 3 我尝试了行数。计数并刷新文本框,但没有 一些附加信息 ds= dataset maxrows = ds.Tables("virtualtable").Rows.Count idcliTextBox.Text = maxrows 如何将id设置为实际的最后一行?这是正确的行为,不是问题。通常,数据库中的自动增量

我是一名学生,在使用自动增量时遇到问题,因为当我删除一行时,它将继续递增。解释:

我想自动增加id 因此:

现在,我删除了第3行,当我单击“新建”按钮时,它将转到id 4而不是id 3 我尝试了行数。计数并刷新文本框,但没有

一些附加信息

ds= dataset
maxrows = ds.Tables("virtualtable").Rows.Count

idcliTextBox.Text = maxrows

如何将id设置为实际的最后一行?

这是正确的行为,不是问题。通常,数据库中的自动增量列永远不会重置,以适应删除以前插入的记录所导致的空孔。 autoincrement列通常用作主键,以唯一标识表中的单个记录

假设您的表表示
students
,其中
ID
字段值用作另一个表
examresults
的外键。在此表中存储学生的考试结果。你的学生凯蒂(2)在数学和地理毕业考试成绩表中有两项记录

如果您从表
students
中删除ID=2的记录,并从
examresults
中删除相关记录,则将Jack的记录从3更改为2意味着您还需要更改Jack examresults的相关记录。仔细想想,这是非常不切实际和无用的。

这就是“自动增量”的意思。这不是问题。不要让它成为一个,从一个有数千行的表中可靠地选择下一个可用的数字是非常昂贵的。
ds= dataset
maxrows = ds.Tables("virtualtable").Rows.Count

idcliTextBox.Text = maxrows