我试图让我的程序根据数据库中已有的最高ID号生成新的标识。
Dim kobling As New Tilkobling
Dim hentOrdreNummer As String = "SELECT MAX(ordreID) FROM bestilling"
Dim svar As DataTable
bOrdreID = hentOrdreNummer + 1
kobling.sporring(user, password, hentOrdreNummer)
svar = kobling.hentData()
所有这些返回的原因是sql-command(由于我假设的字符串/整数,它崩溃了+1)。有一个简单的方法吗?
新代码:
Dim kobling As New Tilkobling
Dim hentOrdreNummer As String = "SELECT * FROM bestilling"
Dim svar As DataTable
kobling.sporring(user, password, hentOrdreNummer)
svar = kobling.hentData()
Dim temprad As DataRow
Dim nyID, modID As String
For Each temprad In svar.Rows
nyID = temprad("ordreID")
modID = nyID + 1
bOrdreID = modID
这是有效的,其中,它以最低的数字开头,我收到一条错误消息,直到它到达一个尚未拍摄的数字。
工作代码:
Dim kobling As New Tilkobling
Dim hentOrdreNummer As String = "SELECT MAX(ordreID) AS ordreID FROM bestilling"
Dim svar As DataTable
kobling.sporring(user, password, hentOrdreNummer)
svar = kobling.hentData()
Dim temprad As DataRow
Dim nyID, modID As String
For Each temprad In svar.Rows
nyID = temprad("ordreID")
modID = nyID + 1
bOrdreID = modID
答案 0 :(得分:0)
试试这个:
SELECT IFNULL(MAX(ordreID),0)+1 FROM bestilling
它将返回新的可能ID,即max(id)+1。
答案 1 :(得分:0)
您需要建立与数据库的连接,并实际针对它运行SQL。 然后创建一个变量来将结果存储在结果中,并将+ 1存储到结果中。 你不能简单地声明一个" SELECT字符串。 。 。 。 "然后期望加上+ 1。