簡體   English   中英

使用VB在SQL的自動增量值中添加+1

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

這將獲得最高IDnumaddnewemployee表。 問題在於,如果創建並刪除了更高的記錄。 假設您得到的返回值為55 可能已創建並刪除ID為56的記錄。

您真正要使用的查詢是

SHOW TABLE STATUS WHERE `Name` = 'addnewemployee'

哪里將獲得一個名為Auto_increment的列。 從數據集中獲取該值,然后將其遞增。

但這是一個壞主意

如果您有多個從屬插入,則應在插入時檢索ID並將其存儲在變量中。 或者最好還是在一個語句或存儲過程中做所有事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM