train.cls

来自「大连市旅游资源管理系统是面向现实需求的一个实用系统。其设计的目的是为旅行社提供一」· CLS 代码 · 共 262 行

CLS
262
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Train"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 Tid Int 火车编号
'2 Tno Varchar 20  车次名称
'3 Sstation  Varchar 40  始发站
'4 Estation  Varchar 40  抵达站
'5 Stime Varchar 40  开车时间
'6 Etime Varchar 40  抵达时间
'7 PriceYz Decimal 7,2 硬座报价
'8 PriceRz Decimal 7,2 软座报价
'9 PriceYw Decimal 7,2 硬卧报价
'10  PriceRw Decimal 7,2 软卧报价
'11  Input_time  Char 17 录入日期和时间

Public Tid As Long
Public Tno As String
Public Sstation As String
Public Estation As String
Public Stime As String
Public Etime As String
Public PriceYz As Single
Public PriceRz As Single
Public PriceYw As String
Public PriceRw As Single
Public Input_time As String

Public Sub Init()
  Tid = 0
  Tno = ""
  Sstation = ""
  Estation = ""
  Stime = ""
  Etime = ""
  PriceYz = 0
  PriceRz = 0
  PriceYw = 0
  PriceRw = 0
  Input_time = ""
End Sub

Public Sub Delete(ByVal TmpTid As Long)
  DB_Connect
  
  SqlStmt = "DELETE FROM Train WHERE Tid=" + Trim(TmpTid)
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
End Sub

Public Function GetInfo(ByVal TmpTid As Long) As Boolean
  Tid = TmpTid
  
  DB_Connect
  
  SqlStmt = "SELECT * FROM Train WHERE Tid=" + Trim(TmpTid)
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
    GetInfo = False
    Init
  Else
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
    Tno = TrimStr(ColVal)
    
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
    Sstation = TrimStr(ColVal)
    
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 4, 1, ColVal, Len(ColVal), pcblen)
    Estation = TrimStr(ColVal)
    
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 5, 1, ColVal, Len(ColVal), pcblen)
    Stime = TrimStr(ColVal)
    
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 6, 1, ColVal, Len(ColVal), pcblen)
    Etime = TrimStr(ColVal)
  
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 7, 1, ColVal, Len(ColVal), pcblen)
    PriceYz = Val(ColVal)
    
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 8, 1, ColVal, Len(ColVal), pcblen)
    PriceRz = Val(ColVal)
   
    ColVal = String(4000, 0)
    Rc = SQLGetData(Hstmt, 9, 1, ColVal, Len(ColVal), pcblen)
    PriceYw = Val(ColVal)
    
    ColVal = String(4000, 0)
    Rc = SQLGetData(Hstmt, 10, 1, ColVal, Len(ColVal), pcblen)
    PriceRw = Val(ColVal)
    
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 11, 1, ColVal, Len(ColVal), pcblen)
    Input_time = TrimStr(ColVal)
    
    GetInfo = True
  End If
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Function

Public Function GetId(ByVal TmpTno As String, _
                      ByVal TmpSstation As String, _
                      ByVal TmpEstation As String) As Long
  DB_Connect
  
  SqlStmt = "SELECT * FROM Train WHERE Tno='" + Trim(TmpTno) _
          + "' And Sstation='" + Trim(TmpSstation) _
          + "' And Estation='" + Trim(TmpEstation) + "'"
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    GetId = Val(ColVal)
  Else
    GetId = 0
  End If
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Function

Public Function In_DB(ByVal TmTno As String, _
                      ByVal TmpSstation As String, _
                      ByVal TmpEstation As String) As Boolean
  DB_Connect
  
  SqlStmt = "SELECT * FROM Train WHERE Tno='" + Trim(TmTno) _
          + "' And Sstation='" + Trim(TmpSstation) _
          + "' And Estation='" + Trim(TmpEstation) + "'"
  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()
  dd = Date
  dd = Format(dd, "yyyy-mm-dd")
  t = Time
  tt = Format(tt, "hh:mm")
  
  DB_Connect
  
  SqlStmt = "INSERT INTO Train (Tno, Sstation, Estation, Stime," _
          + " Etime, PriceYz, PriceRz, PriceYw, PriceRw, Input_time)" _
          + " VALUES('" + Trim(Tno) + "','" + Trim(Sstation) _
          + "','" + Trim(Estation) + "','" + Trim(Stime) _
          + "','" + Trim(Etime) + "'," + Trim(PriceYz) _
          + "," + Trim(PriceRz) + "," + Trim(PriceYw) _
          + "," + Trim(PriceRw) + ",'" + dd + " " + tt + "')"
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub

Public Sub LoadTno(ByVal TmpSstation As String, _
                   ByVal TmpEstation As String)
  Dim m As Integer
  Dim i As Integer
  Erase ArrTno
  ReDim ArrTno(0)

  DB_Connect
  
  'deleted by zoulei
  'SqlStmt = "SELECT Tno FROM Train WHERE Sstation='" _
  '        + Trim(TmpSstation) + "' And Estation='" _
  '        + Trim(TmpEstation) + "' ORDER BY Tno"
  'old end
  
  'added by zoulei 1220
   SqlStmt = "SELECT Tno FROM Train ORDER BY Tno"
  'end
  
  OdbcExt (SqlStmt)
  i = 0

  Do While SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND
    ColVal = String(400, 0)
   
    Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen) '搞不懂为什么这句话执行完了i就被赋值为0
    '上一条语句并没有对i进行操作,但是它改变了i的值。bug?? add by zou
    ReDim Preserve ArrTno(m + 1)
    ArrTno(m) = TrimStr(ColVal)
    i = i + 1
    m = m + 1

  Loop
  
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Sub

Public Sub LoadHotel_ByArea(ByVal TmpAreaId As Long)
  Dim i As Integer
  Erase ArrHotel
  ReDim ArrHotel(0)
  
  DB_Connect
  SqlStmt = "SELECT Hname FROM Hotel WHERE AreaId=" _
          + Trim(TmpAreaId) + " ORDER BY Hname"
  OdbcExt (SqlStmt)
  i = 0
  
  Do While SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND
    ColVal = String(400, 0)
    
    Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    
    ReDim Preserve ArrHotel(i + 1)
    ArrHotel(i) = TrimStr(ColVal)
    i = i + 1
  Loop
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)

  DB_Disconnect
End Sub

Public Sub Update(ByVal OriId As String)
  dd = Date
  dd = Format(dd, "yyyy-mm-dd")
  t = Time
  tt = Format(tt, "hh:mm")
  
  DB_Connect
  SqlStmt = "UPDATE Train SET Tno='" + Trim(Tno) _
          + "',Sstation='" + Trim(Sstation) + "',Estation='" _
          + Trim(Estation) + "', Stime='" + Trim(Stime) _
          + "', Etime='" + Trim(Etime) + "', PriceYz=" _
          + Trim(PriceYz) + ", PriceRz=" + Trim(PriceRz) _
          + ", PriceYw=" + Trim(PriceYw) + ", PriceRw=" _
          + Trim(PriceRw) + ", Input_time='" _
          + Trim(dd) + " " + Trim(tt) + "' WHERE Tid=" _
          + Trim(OriId)
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub

⌨️ 快捷键说明

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