Я получил эту ошибку не из-за ошибки кода, но из-за нет данных в моей таблицеНеверная попытка доступа к полю перед вызовом Read() vb.net
Как проверить, если нет никаких данных и возврат в переменной, 0
вот мой код я пытаюсь получить номер счетчика, но это ошибка, когда нет записей
Public Function GetCount()
Dim count As Integer
Dim cmd As New MySqlCommand
Dim reader As MySqlDataReader = Nothing
Conn.OpenConn()
Dim sqlstr As String
sqlstr = "SELECT counter FROM st_sales ORDER BY salesid DESC LIMIT 1"
Try
'CREATE COMMAND
cmd = New MySqlCommand(sqlstr, Conn.Conn)
reader = cmd.ExecuteReader()
If reader.Read() Then
count = reader.GetInt32(0) + 1
Else
MsgBox("Error")
End If
Finally
reader.Close()
Conn.CloseConn()
End Try
Return count
End Function
Спасибо за любую healp
PLS делится некоторым кодом - мы не можем знать, что вы пытаетесь. Например, я думаю, вы хотите прочитать какую-то таблицу/строку, но какой? – Carsten
можете ли вы опубликовать строку, в которой вы получаете исключение и исключение? так как это не должно вызывать '.GetInt32', если нет строк (' reader.Read() 'будет возвращать' false' в этом случае) – Carsten
Я бы поменял ваш запрос, чтобы дать вам сумму счетчиков ... Например: SELECT SUM (счетчик) FROM st_sales, BAM нет необходимости в переменной и проверке, есть ли у читателя строки или нет ... – Codexer