Der Code führt alles außer der DataReader.Read() - Schleife aus, und ich habe keine Ahnung warum. Es werden keine Fehler angezeigt, es werden die Daten mit dem Datenleser nicht gelesen. Vielen Dank für Ihre Hilfe.Während dataReader.Read() nicht ausgeführt wird
Private Sub BtnFind_Click(sender As Object, e As EventArgs) Handles BtnFind.Click
Dim cmd As OleDbCommand
Dim myConnection As OleDbConnection
Dim text As String = txtTeacherID.Text
Dim dataReader As OleDbDataReader
Try
'selects the information from the row where the column has the teacher ID
myConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\My Documents\database.accdb")
myConnection.Open()
cmd = New OleDbCommand("SELECT * FROM [TMessages] WHERE TeacherID = '" & text & "'", myConnection)
dataReader = cmd.ExecuteReader
While dataReader.Read()
lstItems.Items.Add(dataReader(0))
lstItems.Items.Add(dataReader(0))
lstItems.Items.Add(dataReader(0))
MsgBox("reading")
End While
Catch
MsgBox("Error occured")
End Try
dataReader.Close()
myConnection.Close()
End Sub
Bitte verwenden Sie nur die relevanten Tags. Hier sind vba und access-vba bedeutungslos – Steve
[DataReader.Read] (https://msdn.microsoft.com/en-us/library/system.data.idatareader.read (v = vs.110) .aspx) gibt false zurück wenn keine Daten zu lesen sind. Sind Sie sicher, dass die Abfrage erfolgreich Zeilen zurückgegeben hat? –
Der einzige Grund, die while-Schleife nicht auszuführen, ist, wenn Sie keine Übereinstimmung für Ihre Textvariable in der Datenbank haben. Übrigens sind Sie sicher, dass TeacherID ein Feld mit Text in Ihrer Datenbank ist? – Steve