Sql server 2005 使用vb6在sql server 2005中编辑值导致程序挂起
我在网上搜索了有关编辑值的信息,确实找到了它,但当我执行它时,它没有返回任何错误,而且它确实将数据输入到sql server中,但vb6挂起,需要终止。 这是一个酒店系统,我将房间状态更新为“已占用”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
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