当我试图在我的表中找到最高的ID号时,我在VB.net中获得了一个奇怪的返回值:
这是我的VB.net代码:
objConn = New MySqlConnection(product.strConnString)
objConn.Open()
strSQL = "SELECT MAX(id) FROM product;"
Try
objCmd = New MySqlCommand(strSQL, objConn)
dtReader = objCmd.ExecuteReader()
While dtReader.Read()
nextDBID = dtReader(0)
End While
objConn.Close()
objConn = Nothing
Catch ex As Exception
MsgBox("LoadProduct: " & ex.Message)
End Try
当我检查 nextDBID 的值时,它会显示为 39 。但是,数据库中没有39个!
当我在mySQL GUI中运行那个确切的查询时,我得到了这个:
select MAX(id) from fivestar_range.product;
37
我的id数据字段在产品表中显示:
37
10
11
12
7
8
6
5
4
3
2
1
13
14
36
21
我甚至尝试过使用此查询:
SELECT id FROM product ORDER BY ID DESC LIMIT 1;
我仍然在VB.net中以 39 结束,但在mySQL GUI中仍然 37 。
我正在忽视的是什么?
答案 0 :(得分:3)
检查连接字符串。您可能正在查看两个不同的数据库。