Существуют предположения относительно выражения rd.Item("total") + 1
, предположения о том, что ваши данные нарушают: если rd.Item("total")
дает DBNull
, вы не можете легально выполнить эту операцию + 1
- следовательно, InvalidCastException
.
Попробуйте отделить часть "get the value от rd.Item("total")
" от части "add 1
to value of rd.Item("total")
" и проверить, является ли эта операция +
допустимой в первую очередь:
Dim totalValue As Object
totalValue = rd.Item("total")
If totalValue <> DBNull.Value Then
ubah = "Update from cabang set total ='" & totalValue + 1 &
"' where id='" & Mid(ComboBox1.Text, 1, 1) & "'"
Else
'total is NULL. what now?
End If
Также рассмотрите возможность использования реальных Parameter
объектов для использования с Command
вместо объединения пользовательских входных данных в вашу командную строку - обязательный XKCD : что делает ваш код уязвимым для SQL Внедрение, и это ошибка git и проблема с производительностью, а не просто гипотетическая проблема "безопасности".