Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 使用vb6在sql server 2005中编辑值导致程序挂起_Sql Server 2005_Vb6 - Fatal编程技术网

Sql server 2005 使用vb6在sql server 2005中编辑值导致程序挂起

Sql server 2005 使用vb6在sql server 2005中编辑值导致程序挂起,sql-server-2005,vb6,Sql Server 2005,Vb6,我在网上搜索了有关编辑值的信息,确实找到了它,但当我执行它时,它没有返回任何错误,而且它确实将数据输入到sql server中,但vb6挂起,需要终止。 这是一个酒店系统,我将房间状态更新为“已占用” Private Sub cmdUpdate_Click() Me.AdodcRoomStatus.Refresh With Me.AdodcRoomStatus .Recordset.MoveFirst Do Until .Recordset.EOF On Error R

我在网上搜索了有关编辑值的信息,确实找到了它,但当我执行它时,它没有返回任何错误,而且它确实将数据输入到sql server中,但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 server中该值更改为“已占用”


感谢您的帮助。

似乎有逻辑错误。在cmdUpdate_Click函数中,更新记录时,不存在movenext或exit循环。使用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