Преобразование из строки "" в тип "Integer" недопустимо для каждого оператора

Как видно из названия, я получаю сообщение об ошибке из моего кода ниже, который в основном выбирает несколько входов на ListViewи помещает его в базу данных. Вот код:

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        For Each item As ListViewItem In ListView1.SelectedItems
        Dim StudentID = Integer.Parse(item.SubItems(0).Text)
        Dim FirstName = item.SubItems(1).Text
        Dim LastName = item.SubItems(2).Text
            DBConn()
            SQLSTR = "INSERT INTO '" & TextBox4.Text & "' (StudentID, FirstName, LastName) VALUES ('" & StudentID & "', '" & FirstName & "', '" & LastName & "') "
            alterDB()
            MsgBox("Students succesfully added", msgboxtitle)
        Next
    MsgBox("Students added!", , msgboxtitle)
End Sub

Точная ошибка:

Произошло необработанное исключение типа "System.InvalidCastException" в Microsoft.VisualBasic.dll

Дополнительная информация: Преобразование из строки "" в тип "Integer" недопустимо.

1 ответ

Решение

Ты можешь использовать CInt() конвертировать в целое число. Справочник по MSDN

Я бы порекомендовал Dim variable As Type прежде чем определить переменную, хотя.

    Dim item As ListViewItem        
    Dim StudentID as Integer
    Dim FirstName as String
    Dim LastName as String

    For Each item In ListView1.SelectedItems
        StudentID = CInt(item.SubItems(0).Text)
        FirstName = item.SubItems(1).Text
        LastName = item.SubItems(2).Text
Другие вопросы по тегам