0
下面是從數據庫中檢索值的代碼,但我的問題是它會拋出一個異常,指出「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
表參考:
異常錯誤:
我現在真的很困惑爲什麼代碼不工作,任何hel p和建議將很樂意接受。提前致謝。
請問'Conn'對象存在嗎?錯誤會引發什麼? – hammus
我已完成代碼,包括conn對象。錯誤在行上引發「TextBox1.Text = reader.GetString(0)」 –
reader.GetFieldType(0)的結果是什麼?這會告訴你返回的類型。如果Guard表沒有行,則可能是DbNull。 – shf301