我在VB 2013项目中使用MySQL。我正在尝试获取运行
的表中的记录数Dim SQLstr As String = "SELECT COUNT(*) FROM lieferantenartikel WHERE LiefID=1 AND LfAIDLief=1"
Dim CheckExist As New MySqlCommand(SQLstr, New MySqlConnection(strConn))
Try
Dim recEx As Integer = CheckExist.ExecuteScalar()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
根据定义,COUNT(*)应返回标量数,即如果不存在记录则为0,否则为任何其他正数。
但是我收到了System.NullReferenceException。我做错了什么?
答案 0 :(得分:0)
我有类似的问题。当表没有条目时就会发生这种情况。您可以使用" ISNULL"进行解决方法。但也许有更好的方法。
答案 1 :(得分:0)
事实上,当我使用开放连接而不是连接对象时,问题就出现了问题!谢谢你,plutonix。我显然在文档中监督了连接必须是开放的。
所以现在是正确的代码:
Dim SQLstr As String = "SELECT COUNT(*) FROM lieferantenartikel WHERE LiefID=1 AND LfAIDLief=1"
Dim cConn as New MySqlConnection(strConn)
cConn.Open()
Dim CheckExist As New MySqlCommand(SQLstr, cConn)
Try
Dim recEx As Integer = CheckExist.ExecuteScalar()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
非常感谢您的快速帮助!e