📄 room.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "Room"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 RoomNo Varchar2 10 房间编号
'2 TypeId Number 房间类型编号
'3 Position Varchar2 100 房间朝向
'4 ObjList Varchar2 400 房间中所有物品的列表
'5 Price Number 8,2 标准价格(会员可在此基础上打折)
'6 Status Number 1 房间当前状态(0 空房,1 预定,2 入住,3 退房,4 维修)
Public RoomNo As String
Public TypeId As Integer
Public Position As String
Public ObjList As String
Public Price As Single
Public Status As Integer
Public Sub Init()
RoomNo = 0
BookName = ""
TypeId = 0
Position = 0
ObjList = ""
Ptimes = ""
Price = 0
Status = 0
BStatus = 0
End Sub
'删除Room数据
Public Sub Delete(ByVal TmpRoomNo As String)
SqlStmt = "Delete FROM Room WHERE RoomNo='" + Trim(TmpRoomNo) + "'"
SQLExt (SqlStmt)
End Sub
'得到当前房间状态
Public Function GetStatus(ByVal TmpRoomNo As String) As String
Dim rs As New ADODB.Recordset
'设置SELECT语句
SqlStmt = "SELECT Status FROM Room WHERE RoomNo='" + Trim(TmpRoomNo) + "'"
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
'如果结果集为空,则初始化
Init
GetStatus = -1
Else
'将结果集中的数据赋值到成员变量中
GetStatus = rs.Fields(0)
End If
End Function
Public Function GetInfo(ByVal TmpRoomNo As String) As Boolean
Dim rs As New ADODB.Recordset
If TmpRoomNo = "" Then
Init
GetInfo = False
Exit Function
End If
'设置SELECT语句
SqlStmt = "SELECT * FROM Room WHERE RoomNo='" + Trim(TmpRoomNo) + "'"
'将结果集读取到rs中
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
'如果结果集为空,则初始化
Init
GetInfo = False
Else
'将结果集中的数据赋值到成员变量中
If IsNull(rs.Fields(0)) Then
RoomNo = ""
Else
RoomNo = rs.Fields(0)
End If
If IsNull(rs.Fields(1)) Then
TypeId = 1
Else
TypeId = rs.Fields(1)
End If
If IsNull(rs.Fields(2)) Then
Position = ""
Else
Position = rs.Fields(2)
End If
If IsNull(rs.Fields(3)) Then
ObjList = ""
Else
ObjList = rs.Fields(3)
End If
If IsNull(rs.Fields(4)) Then
Price = 0
Else
Price = rs.Fields(4)
End If
Status = rs.Fields(5)
GetInfo = True
End If
End Function
'判断指定的房间类型中是否包含具体的房间
Public Function HaveRoom(ByVal TmpTypeId As Long) As Boolean
Dim rs As New ADODB.Recordset
SqlStmt = "SELECT RoomNo FROM Room WHERE TypeId=" _
+ Trim(Str(TmpTypeId))
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
HaveRoom = False
Else
HaveRoom = True
End If
End Function
Public Function In_DB(ByVal TmpRoomNo As String) As Boolean
Dim rs As New ADODB.Recordset
SqlStmt = "SELECT RoomNo FROM Room WHERE RoomNo='" + Trim(TmpRoomNo) + "'"
Set rs = QueryExt(SqlStmt)
If rs.EOF = True Then
In_DB = False
Else
In_DB = True
End If
End Function
Public Sub Insert()
'设置INSERT语句
SqlStmt = "INSERT INTO Room Values('" + Trim(RoomNo) + "'," _
+ Trim(TypeId) + ",'" + Trim(Position) + "','" + Trim(ObjList) _
+ "'," + Trim(Price) + "," + Trim(Status) + ")"
'执行SQL语句
SQLExt (SqlStmt)
End Sub
Public Sub Update(ByVal OriRoomNo As String)
'设置UPDATE语句
SqlStmt = "Update Room Set RoomNo='" + Trim(RoomNo) _
+ "', TypeId=" + Trim(TypeId) + ",ObjList='" _
+ Trim(ObjList) + "',Position='" + Trim(Position) _
+ "', Price=" + Trim(Price) + ",Status=" + Trim(Status) + " WHERE RoomNo='" _
+ Trim(OriRoomNo) + "'"
'执行SQL语句
SQLExt (SqlStmt)
End Sub
'更新当前的房间状态
Public Sub UpdateStatus(ByVal OriRoomNo As String)
'设置UPDATE语句
SqlStmt = "Update Room Set Status=" + Trim(Status) _
+ " WHERE RoomNo='" + Trim(OriRoomNo) + "'"
'执行SQL语句
SQLExt (SqlStmt)
End Sub
'批量更新房间状态,根据预定编号(入住编号)
Public Sub UpdateListStatus(ByVal OrderId As Integer)
'设置UPDATE语句,从表OrderList中选出OrderId等于此OrderId的所有客房编号
SqlStmt = "Update Room Set Status=" + Trim(Status) _
+ " WHERE RoomNo IN (SELECT RoomNo FROM OrderList WHERE OrderId=" _
+ Trim(OrderId) + ")"
'执行SQL语句
SQLExt (SqlStmt)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -