⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orderlist.cls

📁 Oracle 10g数据库Java开发 源码
💻 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 = "OrderList"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 ListId  number  房间登记编号,作为表OrderList的主键
'2 OrderId number  预定编号
'3 RoomNo  varchar2 10 客房编号
'4 InDate  date  计划入住日期
'5 Days  number  入住天数
'6 Price number  预定单价
'7 Rate  number  预定折扣
'8 OtherFee  number  其他收费金额
'9 Memo  varchar2 2000 其他说明

Public ListId As Integer
Public OrderId As Integer
Public RoomNo As String
Public InDate As String
Public Days As Integer
Public Price As Long
Public Rate As Single
Public OtherFee As Single
Public Memo As String

Public Sub Init()
  ListId = 0
  OrderId = 0
  RoomNo = ""
  InDate = ""
  Days = 0
  Price = 0
  Rate = 0
  OtherFee = 0
  Memo = ""
End Sub

'取得入住客房详细信息,由于入住编号唯一对应一个入住客房信息,所以使用入住编号为查询条件
Public Function GetInfo(ByVal TmpId As Long) As Boolean
  Dim rs As New ADODB.Recordset
  
  If TmpId <= 0 Then
    Init
    GetInfo = False
    Exit Function
  End If
  '设置SELECT语句
  SqlStmt = "SELECT * FROM OrderList WHERE OrderId=" + Trim(TmpId)
  '将结果集读取到rs中
  Set rs = QueryExt(SqlStmt)

  If rs.EOF = True Then
    '如果结果集为空,则初始化
    Init
    GetInfo = False
  Else
    '将结果集中的数据赋值到成员变量中
    ListId = rs.Fields(0)
    OrderId = rs.Fields(1)
    RoomNo = rs.Fields(2)
    InDate = rs.Fields(3)
    If IsNull(rs.Fields(4)) Then
      Days = 0
    Else
      Days = rs.Fields(4)
    End If
    If IsNull(rs.Fields(5)) Then
      Price = 0
    Else
      Price = rs.Fields(5)
    End If
    If IsNull(rs.Fields(6)) Then
      Rate = 0
    Else
      Rate = rs.Fields(6)
    End If
    If IsNull(rs.Fields(7)) Then
      OtherFee = 0
    Else
      OtherFee = rs.Fields(7)
    End If
    If IsNull(rs.Fields(8)) Then
      Memo = ""
    Else
      Memo = rs.Fields(8)
    End If
    
    GetInfo = True
  End If
End Function

'根据列表编号取得预定客房的详细信息
Public Function GetInfoByListId(ByVal TmpId As Long) As Boolean
  Dim rs As New ADODB.Recordset
  
  If TmpId <= 0 Then
    Init
    GetInfoByListId = False
    Exit Function
  End If
  '设置SELECT语句
  SqlStmt = "SELECT * FROM OrderList WHERE ListId=" + Trim(TmpId)
  '将结果集读取到rs中
  Set rs = QueryExt(SqlStmt)

  If rs.EOF = True Then
    '如果结果集为空,则初始化
    Init
    GetInfoByListId = False
  Else
    '将结果集中的数据赋值到成员变量中
    ListId = rs.Fields(0)
    OrderId = rs.Fields(1)
    RoomNo = rs.Fields(2)
    InDate = rs.Fields(3)
    If IsNull(rs.Fields(4)) Then
      Days = 0
    Else
      Days = rs.Fields(4)
    End If
    If IsNull(rs.Fields(5)) Then
      Price = 0
    Else
      Price = rs.Fields(5)
    End If
    If IsNull(rs.Fields(6)) Then
      Rate = 0
    Else
      Rate = rs.Fields(6)
    End If
    If IsNull(rs.Fields(7)) Then
      OtherFee = 0
    Else
      OtherFee = rs.Fields(7)
    End If
    If IsNull(rs.Fields(8)) Then
      Memo = ""
    Else
      Memo = rs.Fields(8)
    End If
    
    GetInfoByListId = True
  End If
End Function

'删除单个预定信息
Public Sub Delete(ByVal TmpId As Long)
  SqlStmt = "DELETE FROM OrderList WHERE ListId=" + Trim(TmpId)
  SQLExt (SqlStmt)
End Sub

'取消预定时删除此预定编号下的所有记录
Public Sub DeleteByOrderId(ByVal TmpOid As Long)
  SqlStmt = "DELETE FROM OrderList WHERE OrderId=" + Trim(TmpOid)
  SQLExt (SqlStmt)
End Sub

'插入新的预定记录
Public Sub Insert()
  SqlStmt = "INSERT INTO OrderList VALUES(ListId.NextVal," _
          + Trim(OrderId) + ",'" + Trim(RoomNo) + "', TO_DATE('" _
          + Trim(InDate) + "', 'yyyy-mm-dd')," + Trim(Days) _
          + "," + Trim(Price) + "," + Trim(Rate) + "," + Trim(OtherFee) _
          + ",'" + Trim(Memo) + "')"
          
  SQLExt (SqlStmt)
End Sub

'取得一个预定编号中预定的房间数
Public Function GetRoomNum(ByVal TmpOid As Long) As Integer
  Dim rs As New ADODB.Recordset
  
  '设置SELECT语句
  SqlStmt = "SELECT Count(*) FROM OrderList WHERE OrderId= " + Trim(TmpOid)
  '将结果集读取到rs中
  Set rs = QueryExt(SqlStmt)

  If rs.EOF = True Then
    GetRoomNum = 0
  Else
    GetRoomNum = rs.Fields(0)
  End If
End Function

'取得一个预定编号中预定房间总金额
Public Function SumAmount(ByVal TmpOid As Long) As Integer
  Dim rs As New ADODB.Recordset
  
  '设置SELECT语句
  SqlStmt = "SELECT Sum(Round(Price*Rate*Days/100,0)+OtherFee) FROM OrderList" _
          + " WHERE OrderId= " + Trim(TmpOid)
  '将结果集读取到rs中
  Set rs = QueryExt(SqlStmt)

  If rs.EOF = True Then
    SumAmount = 0
  Else
    SumAmount = rs.Fields(0)
  End If
End Function

'更新登记信息
Public Sub Update(ByVal TmpId As Long)
  SqlStmt = "UPDATE OrderList SET RoomNo='" + Trim(RoomNo) + "', InDate=" _
          + "TO_DATE('" + Trim(InDate) + "', 'yyyy-mm-dd'), Days=" + Trim(Days) _
          + ", Price=" + Trim(Price) + ", Rate=" + Trim(Rate) + ", OtherFee=" _
          + Trim(OtherFee) + ", Memo='" + Trim(Memo) + "' WHERE ListId=" + Trim(TmpId)
  SQLExt (SqlStmt)
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -