chargeitem.cls

来自「Visual Basic + Oracle 9i数据库应用系统开发与实例《小区物」· CLS 代码 · 共 164 行

CLS
164
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "ChargeItem"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1   ItemId  Smallint    收费项目编号
'2   Item    Varchar2 50 收费项目名称
'3   UnitPrice   Number 15,2 费用单价
'4   Unit    Varchar2 10 收费单位(按建筑面积、按抄表刻度、按总费用)
'5   PayCycle    Varchar2 10 收费周期(每周、每月、每季、每半年、每年、一次性收费)

Public ItemId As Long
Public Item As String
Public UnitPrice As Single
Public Unit As String
Public PayCycle As String

Public Sub Init()
  ItemId = 0
  Item = ""
  UnitPrice = 0
  Unit = ""
  PayCycle = ""
End Sub

'删除
Public Sub Delete(ByVal TmpId As Long)
  DB_Connect
  
  SqlStmt = "DELETE FROM ChargeItem WHERE ItemId=" + Trim(TmpId)
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)

  DB_Disconnect
End Sub

Public Function GetId(ByVal TmpName As String) As Long
  DB_Connect
  
  SqlStmt = "SELECT ItemId FROM ChargeItem WHERE Item='" _
          + Trim(TmpName) + "'"
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    ColVal = String(400, 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 Sub GetInfo(ByVal TmpId As Long)
  ItemId = TmpId
  If TmpId = 0 Then
    Init
    Exit Sub
  End If
  DB_Connect
  
  SqlStmt = "SELECT * FROM ChargeItem WHERE ItemId=" + Trim(TmpId)
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
    Item = TrimStr(ColVal)
    
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
    UnitPrice = Val(ColVal)
    
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 4, 1, ColVal, Len(ColVal), pcblen)
    Unit = TrimStr(ColVal)
  
    ColVal = String(40, 0)
    Rc = SQLGetData(Hstmt, 5, 1, ColVal, Len(ColVal), pcblen)
    PayCycle = TrimStr(ColVal)
  Else
    Init
  End If
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Sub

Public Function In_DB(ByVal TmpItem As String) As Boolean
  DB_Connect
  
  SqlStmt = "SELECT ItemId FROM ChargeItem WHERE Item='" _
          + Trim(TmpItemId) + "'"
  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 ChargeItem (ItemId,Item, UnitPrice," _
          + " Unit, PayCycle)" + " VALUES(ITEMID.NEXTVAL,'" _
          + Trim(Item) + "'," + Trim(Str(UnitPrice)) + ",'" _
          + Trim(Unit) + "','" + Trim(PayCycle) + "')"
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub

Public Sub Load_ChargeItem(ByVal TmpUnit As String)
  Dim i As Integer
  Erase Arr_ChargeItem
  ReDim Arr_ChargeItem(0)
  
  DB_Connect
  If TmpUnit = "" Then
    SqlStmt = "SELECT Item FROM ChargeItem ORDER BY Item"
  Else
    SqlStmt = "SELECT Item FROM ChargeItem WHERE Unit='" _
            + Trim(TmpUnit) + "' ORDER BY Item"
  End If
  OdbcExt (SqlStmt)
  i = 0
  Do Until SQLFetch(Hstmt) = SQL_NO_DATA_FOUND
    ColVal = String(400, 0)
    Rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    ReDim Preserve Arr_ChargeItem(i + 1)
    Arr_ChargeItem(i) = TrimStr(ColVal)
    
    i = i + 1
  Loop
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Sub

'更新地域数据
Public Sub Update(ByVal TmpId As Long)
  DB_Connect
    
  SqlStmt = "UPDATE ChargeItem SET Item='" + Trim(Item) _
          + "', UnitPrice=" + Trim(UnitPrice) + ", Unit='" + Trim(Unit) _
          + "', PayCycle='" + Trim(PayCycle) + "' WHERE ItemId=" + Trim(Str(TmpId))
  OdbcExt (SqlStmt)
  Rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub

⌨️ 快捷键说明

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