-1
コードはWhile dataReader.Read()ループ以外のすべてを実行しますが、理由はわかりません。エラーは起こりません。実際にはデータリーダーで実際にデータを読み取ることはできません。助けをいただきありがとうございました。while dataReader.Read()は実行されません
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
関連タグのみを使用してください。ここでvbaとaccess-vbaは無意味です – Steve
[DataReader.Read](https://msdn.microsoft.com/en-us/library/system.data.idatareader.read(v = vs.110).aspx)はfalseを返します読み込むデータがない場合クエリで正常に行が返されましたか? –
whileループを実行しない唯一の理由は、データベース内のテキスト変数に一致するものがない場合です。ところで、あなたはTeacherIDがあなたのデータベースのテキストのフィールドであると確信していますか? – Steve