[英]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.