プログラムを実行できます。しかし、機能ボタンがクリックされたとき、エラーは、データ・リーダーが閉じていないことを示しています。 1'データリーダー'は閉じていますが、エラーは表示されません。
どのような解決策もありますか?
エラー:このコマンドに関連付けられている開いているDataReaderが既に存在します。このDataReaderは最初に閉じる必要があります。
Else
If checkoutdate.Value >= checkindate.Value Then
cmdsearch.CommandText = "SELECT * FROM [Reservations] where [ReservationID] = " & reservationidlbl.Text
cmdupdate.CommandType = CommandType.Text
cmdsearch.Connection = cnnoledb
Dim read3 As OleDbDataReader = cmdsearch.ExecuteReader()
If checkindate.Value & checkoutdate.Value >= read3(5) & read3(6) Then
If read3(5) & read3(6) <= checkindate.Value & checkoutdate.Value Then
cmdupdate.CommandText = "INSERT INTO [Reservations] (ReservationID, [RoomNo], CustomerName, [IC/Passport], ContactNo, [CheckIn_Date], [CheckOut_Date], RoomType, Deposit, ReservationDate,[Status]) values ('" & reservationidlbl.Text & "' , '" & roomtxt.Text & "', '" & nametxt.Text & "', '" & passporttxt.Text & "', '" & contacttxt.Text & "','" & checkindate.Text & "','" & checkoutdate.Text & "','" & roomtype2 & "','" & deposittxt.Text & "','" & DateAndTime.Now.ToString & "', '" & status & "')"
cmdupdate.CommandType = CommandType.Text
cmdupdate.Connection = cnnoledb
cmdupdate.ExecuteNonQuery()
MsgBox("Reservation made.")
Else
MsgBox("This room is reserved for the specified date.")
End If
read3.Close()
Else
MsgBox("This room is reserved for the specified date.")
End If
read3.Close()
問題が発生しているコードを投稿しないと、間違ったことを解決するのは少し難しいです。 – Blackwood
'End If'の後に次のように挿入します:' If read3.IsClosed = False Then read3.Close() ' – muffi
取得している_exact_エラーメッセージを追加してください。 –