[英]Adding +1 in a auto increment value in SQL using vb
我想在我的vb程序中生成一个ID,它将获得最新的自动递增的数字并添加一个,但是我的代码不起作用是我遗漏了某些东西还是做错了? 请帮我! 谢谢!
这是代码:
OpenServer()
Dim num As Integer
Dim num1 = num + 1
Newdataset("SELECT MAX(IDnum) AS IDnum FROM addnewemployee WHERE IDnum = '" & num & "' ")
txtEmpNumber.Text = "" & num1 & "." & dtpdatehired.Value.ToString("yyyyMMdd") & ""
您的方法有几个缺陷。
首先,您的SQL语句应为:
SELECT MAX(IDnum) AS IDnum FROM addnewemployee
这将获得最高IDnum
从addnewemployee
表。 问题在于,如果创建并删除了更高的记录。 假设您得到的返回值为55 。 可能已创建并删除ID为56的记录。
您真正要使用的查询是
SHOW TABLE STATUS WHERE `Name` = 'addnewemployee'
哪里将获得一个名为Auto_increment
的列。 从数据集中获取该值,然后将其递增。
但这是一个坏主意 。
如果您有多个从属插入,则应在插入时检索ID并将其存储在变量中。 或者最好还是在一个语句或存储过程中做所有事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.