これはデータベースから値を取得するコードですが、私の問題は、「InvalidCastException が処理されず、指定されたキャストが有効ではありません」という例外をスローすることです。私は今、何がうまくいかなかったのか混乱しています。コードと以下の表。
コードは次のとおりです。
Public connstring As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source =" & Application.StartupPath &
"\TestData.accdb; Persist Security info = false"
Public Conn As New OleDbConnection
Private Sub TestForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loard
Conn.ConnectionString = connstring
Conn.Open()
LoadValue( )
End Sub
Private Sub LoadValue( )
Dim i As Integer
Dim cmd As OleDbCommand = New OleDbCommand
With cmd
.CommandText = "SELECT MAX(Guard_ID) FROM Guard"
.CommandType = CommandType.Text
.Connection = Conn
.ExecuteNonQuery()
Dim reader As OleDbDataReader = cmd.ExecuteReader
If reader.Read Then
TextBox1.Text = reader.GetString(0)
i = TextBox1.Text + 1
TextBox1.Text = i
reader.Close()
End If
End With
End Sub
テーブル参照:
例外エラー:
コードが機能しない理由について、私は本当に混乱しています。どんな助けやアドバイスも喜んで受け入れます。前もって感謝します。