редактирование значения в sql server 2005 с использованием vb6, вызывающее зависание программы - PullRequest
0 голосов
/ 03 апреля 2012

Я искал о редактировании значения в сети и нашел его, но когда я его выполнил, он не возвращает ошибки и действительно вводит данные на сервер sql, но vb6 зависает и его необходимо прекратить.Это система отелей, в которой я изменил статус номера на «Занято».

Private Sub cmdUpdate_Click()
Me.AdodcRoomStatus.Refresh
With Me.AdodcRoomStatus

    .Recordset.MoveFirst
    Do Until .Recordset.EOF
    On Error Resume Next
    If (.Recordset.Fields![RoomNo] = Me.cRoomNo) Then
        .Recordset.Fields![RoomStatus].Value = "Occupied"
        '.Recordset.Fields("RoomStatus").Value = Me.cOccupied
        .Recordset.Update
    Else
    .Recordset.MoveNext
    End If
    Loop
    MsgBox "Changing Room Status Success", vbInformation
End With
End Sub

Кодирование, где я могу добавить сюда регистрацию, если это может помочь

Private Sub cmdAdd_Click()
Me.AdodcCheckIn.Refresh
With Me.AdodcCheckIn.Recordset

.AddNew
.Fields![Cust_IC] = Me.cIdenfitication
.Fields![Check_In_Date] = Me.cDateArrive
.Fields![RoomNo] = Me.cRoomNo
.Update
Me.AdodcCheckIn.Refresh
MsgBox "Guests Are Checked In", vbInformation
End With
End Sub

Результат: Гости зарегистрированы, данные введены.И затем он идет, чтобы обновить статус комнаты.Он зависает там, но значение изменяется на «Занято» на сервере Sql.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 03 апреля 2012

Кажется, есть логическая ошибка.В функции cmdUpdate_Click при обновлении записи отсутствует movenext ИЛИ цикл выхода.Используйте любой из 2, и он должен перестать переходить в состояние зависания!

Private Sub cmdUpdate_Click()
Me.AdodcRoomStatus.Refresh
With Me.AdodcRoomStatus

    .Recordset.MoveFirst
    Do Until .Recordset.EOF
    On Error Resume Next
    If (.Recordset.Fields![RoomNo] = Me.cRoomNo) Then
        .Recordset.Fields![RoomStatus].Value = "Occupied"
        '.Recordset.Fields("RoomStatus").Value = Me.cOccupied
        .Recordset.Update
    .Recordset.MoveNext
    Else
    .Recordset.MoveNext
    End If
    Loop
    MsgBox "Changing Room Status Success", vbInformation
End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...