我想從我的數據庫表中獲得一個記錄與此代碼:如何從使用OleDbDataReader對象的SQL SELECT語句中獲取結果?
Dim getParentID = "SELECT Parent_ID FROM ParentandGuardian WHERE First_Name = @fname AND Middle_Name = @mname AND Last_Name = @lname"
comm = New OleDbCommand(getParentID, MyConn)
comm.Parameters.AddWithValue("@fname", txtPGFirstName.Text)
comm.Parameters.AddWithValue("@mname", txtPGMiddleName.Text)
comm.Parameters.AddWithValue("@lname", txtPGLastName.Text)
Reader = comm.ExecuteReader
MsgBox(Reader.GetValue(0))
我得到這個錯誤指出來的MsgBox(Reader.Getvalue(0))
聲明:
類型的未處理的異常「系統。 InvalidOperationException'發生在System.Data.dll中
附加信息:行/列不存在任何數據。
我很確定查詢應該至少有一個結果。我檢查了查詢指向的特定數據庫表,並且值在那裏。我只是不知道爲什麼我不斷收到這個錯誤。我對VB.NET來說很新。請多多包涵。
第一:不要使用.AddWithValue。第二:在你可以訪問字段之前,你將不得不做一個Reader.Read() – muffi
@ muffi謝謝你,先生!我終於明白了!這對我很有幫助。我還有一個問題。你爲什麼說,不要使用.AddWithValue?這可能會幫助我與VB.NET的未來掙扎。 TIA。 –
因爲.AddWithValue有時會猜測錯誤的字段類型。最好添加一個參數,如'.Add(「@param」,MySqlDbType.Int32).Value = 0' – muffi