vb.net - 自动分配ID

标签 vb.net visual-studio visual-studio-2012

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

我想自动增加 id 所以:

  id   name      age

  1    michael   18

  2    katy      17

  3    jack      20

现在我删除了第 3 行,当我单击 new 按钮时,它将转到 id 4 而不是 id 3 我尝试过 rows.count 并刷新文本框,但没有任何结果

一些附加信息

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

idcliTextBox.Text = maxrows

如何将 id 设置为真正的最后一行?

最佳答案

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

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

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

关于vb.net - 自动分配ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22338030/

相关文章:

vb.net - ReCAPTCHA 关闭底层连接

c# - 新 Visual-Studio 项目的默认应用程序兼容性 list ?

c# - VS 2013 : Add Existing Project does not physically copy files. 你是怎么做到的?

c# - 在 visual studio 2017 中创 build 置时遇到错误

javascript - 你能隐式地告诉 Intellisense 变量是什么类型吗?

c++ - IP 网络中的动态松散源路由

vb.net - 在生产环境中调试 CLR20r3 System.InvalidOperationException

c# - 当通过另一个应用程序更改设置时如何通知应用程序

mysql - 使用 Visual Basic 通过 mySql 数据库验证 StudentId 和 StudentPassword

visual-studio - 如何在 Visual Studio 11 Beta 中使用 XNA 项目?