📄 lhotel.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 = "lhotel"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 lid Int 线路编号
'2 hid Int 宾馆编号
'3 rType Tinyint 房间类型(1 经济间,2 双人间,3 三人间,4四人间)
'4 rdays Tinyint 住宿天数
Public lid As Long
Public hid As Long
Public rType As Integer
Public rdays As Integer
Public Sub Init()
lid = 0
hid = 0
rType = 0
rdays = 0
End Sub
'删除指定线路的所有宾馆信息
Public Sub DeleteLine(ByVal Tmplid As Long)
DB_Connect
SqlStmt = "DELETE FROM lhotel WHERE lid=" + Trim(Tmplid)
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
End Sub
'删除指定线路宾馆信息
Public Sub Delete(ByVal Tmplid As Long, _
ByVal TmpHid As Long, _
ByVal TmpType As Integer)
DB_Connect
SqlStmt = "DELETE FROM lhotel WHERE lid=" + Trim(Tmplid) _
+ " And hid=" + Trim(TmpHid) + " And rType=" _
+ Trim(TmpType)
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
End Sub
Public Function In_DB(ByVal Tmplid As Long, _
ByVal TmpHid As Long, _
ByVal TmpType As Integer) As Boolean
DB_Connect
SqlStmt = "SELECT * FROM lhotel WHERE lid=" + Trim(Tmplid) _
+ " And hid=" + Trim(TmpHid) + " And rType=" _
+ Trim(TmpType)
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
In_DB = True
Else
In_DB = False
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Sub Insert()
DB_Connect
SqlStmt = "INSERT INTO lhotel VALUES(" + Trim(lid) + "," _
+ Trim(hid) + "," + Trim(rType) + "," + Trim(rdays) + ")"
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
'判断指定的宾馆信息是否在线路中
Public Function HotelInLine(ByVal TmpHid As Long) As Long
DB_Connect
SqlStmt = "SELECT lid FROM lhotel WHERE hid=" _
+ Trim(TmpHid)
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
ColVal = String(400, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
HotelInLine = Val(ColVal)
Else
HotelInLine = 0
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function SumPrice(ByVal Tmplid As Long) As Single
SumPrice = SumPrice1(Tmplid) + SumPrice2(Tmplid) + SumPrice3(Tmplid) + SumPrice4(Tmplid)
End Function
Public Function SumPrice1(ByVal Tmplid As Long) As Single
DB_Connect
SqlStmt = "SELECT Sum(h.Price1*l.rdays) FROM lhotel l, Hotel h" _
+ " WHERE l.lid=" + Trim(Tmplid) + " And l.hid=h.hid And l.rType=1"
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
SumPrice1 = 0
Else
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
SumPrice1 = Val(ColVal)
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function SumPrice2(ByVal Tmplid As Long) As Single
DB_Connect
SqlStmt = "SELECT Sum(h.Price2*l.rdays) FROM lhotel l, Hotel h" _
+ " WHERE l.lid=" + Trim(Tmplid) + " And l.hid=h.hid And l.rType=2"
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
SumPrice2 = 0
Else
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
SumPrice2 = Val(ColVal)
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function SumPrice3(ByVal Tmplid As Long) As Single
DB_Connect
SqlStmt = "SELECT Sum(h.Price3*l.rdays) FROM lhotel l, Hotel h" _
+ " WHERE l.lid=" + Trim(Tmplid) + " And l.hid=h.hid And l.rType=3"
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
SumPrice3 = 0
Else
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
SumPrice3 = Val(ColVal)
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Function SumPrice4(ByVal Tmplid As Long) As Single
DB_Connect
SqlStmt = "SELECT Sum(h.Price4*l.rdays) FROM lhotel l, Hotel h" _
+ " WHERE l.lid=" + Trim(Tmplid) + " And l.hid=h.hid And l.rType=4"
OdbcExt (SqlStmt)
If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
SumPrice4 = 0
Else
ColVal = String(40, 0)
Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
SumPrice4 = Val(ColVal)
End If
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Function
Public Sub Update(ByVal Orilid As Long, _
ByVal Orihid As Long, _
ByVal OriType As Long)
DB_Connect
SqlStmt = "UPDATE lhotel SET hid=" + Trim(hid) _
+ ", rType=" + Trim(rType) + ", rdays=" _
+ Trim(rdays) + " WHERE lid=" + Trim(Orilid) _
+ " And hid=" + Trim(Orihid) + " And rType=" _
+ Trim(OriType)
OdbcExt (SqlStmt)
Rc = SQLFreeStmt(Hstmt, SQL_DROP)
DB_Disconnect
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -