clsclient.cls

来自「以vb为开发工具,使用支持来电显示的modem,实现一个来电显示的客户管理系统」· CLS 代码 · 共 233 行

CLS
233
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "ClsClient"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Public Id As String
Public ClientGroup As Integer
Public Name As String
Public Caller As String
Public Company As String
Public Duty As String
Public Mobile As String
Public Phone As String
Public Detail As String
Public Sub Init()
  Id = 0
  ClientGroup = ""
  Name = ""
  Caller = ""
  Company = ""
  Duty = ""
  Mobile = ""
  Phone = ""
  Detail = ""
End Sub

'删除Employees数据
Public Sub Delete(ByVal TmpClientId As String)
   '连接数据库
  MyDB.openDB
  
  SqlStmt = "Delete FROM Client WHERE Id=" + Trim(TmpClientId) + ""
  
  '执行SQL语句
  Dim Isexe As Boolean
  Dim rsClient As ADODB.Recordset
  Isexe = MyDB.exeSql(SqlStmt, rsClient, True)
  
  
  '断开与数据库的连接
  MyDB.closeDB
End Sub

Public Function GetName(ByVal TmpClientId As Long) As String
  If TmpClientId <= 0 Then
    GetName = ""
    Exit Function
  End If
  
  '连接数据库
  MyDB.openDB
  
  SqlStmt = "SELECT Name FROM Client WHERE Id=" + Trim(Str(TmpClientId))
    
    '执行SQL语句
  Dim Isexe As Boolean
  Dim rsClient As ADODB.Recordset
  Isexe = MyDB.exeSql(SqlStmt, rsClient, True)

  If rsClient.RecordCount = 0 Then
    GetName = ""
    Exit Function
  Else
    GetName = rsClient.Fields("Name")
  End If
    
 '断开与数据库的连接
  MyDB.closeDB
End Function

Public Function GetInfo(ByVal TmpClientId As Long) As Boolean
  If TmpClientId <= 0 Then
    Init
    GetInfo = False
    Exit Function
  End If
  
  Id = TmpClientId
  
  '连接数据库
  MyDB.openDB
  
  SqlStmt = "SELECT * FROM Client WHERE Id=" + Trim(Str(TmpClientId))
      
      '执行SQL语句
  Dim Isexe As Boolean
  Dim rsClient As ADODB.Recordset
  Isexe = MyDB.exeSql(SqlStmt, rsClient, True)
  
  If rsClient.RecordCount = 0 Then
    GetInfo = False
      '断开与数据库的连接
  MyDB.closeDB
    Exit Function
  Else
  ClientGroup = rsClient.Fields("ClientGroup")
  Name = rsClient.Fields("Name")
  Caller = rsClient.Fields("Caller")
  Company = rsClient.Fields("Company")
  Duty = rsClient.Fields("Duty")
  Mobile = rsClient.Fields("Mobile")
  Phone = rsClient.Fields("Phone")
  Detail = rsClient.Fields("Detail")
  End If
    
  
  GetInfo = True
   '断开与数据库的连接
  MyDB.closeDB
End Function

Public Function GetNewId() As Long
  Dim TmpId As Long
  
   '连接数据库
  MyDB.openDB
    
  SqlStmt = "SELECT Id FROM Client ORDER BY Id"
       '执行SQL语句
  Dim Isexe As Boolean
  Dim rsClient As ADODB.Recordset
  Isexe = MyDB.exeSql(SqlStmt, rsClient, True)
  
  i = 1
  Do While rsClient.EOF = False
  
    TmpId = rsClient.Fields("Id")
    If TmpId = i Then
      i = i + 1
    Else
      GetNewId = i
      '断开与数据库的连接
  MyDB.closeDB
      Exit Function
    End If
  rsClient.MoveNext
  Loop
      '断开与数据库的连接
  MyDB.closeDB
  
  GetNewId = i
End Function

Public Sub Insert()
  Id = GetNewId
  
   '连接数据库
  MyDB.openDB

  SqlStmt = "INSERT INTO Client (Id, ClientGroup, Name, Caller," _
     + "Company,Duty,Mobile, Phone, Detail)" _
     + " Values(" + Trim(Str(Id)) + ",'" + Trim(ClientGroup) _
     + "','" + Trim(Name) + "','" + Trim(Caller) + "','" _
     + Trim(Company) + "','" + Trim(Duty) + "','" + Trim(Mobile) + "','" _
     + Trim(Phone) + "','" + Trim(Detail) + "')"
   '执行SQL语句
  Dim Isexe As Boolean
  Dim rsClient As ADODB.Recordset
  Isexe = MyDB.exeSql(SqlStmt, rsClient, True)
    
      '断开与数据库的连接
  MyDB.closeDB
End Sub

Public Sub Load_by_Dep(ByVal TmpDepId As Integer)
  Dim i As Integer
  '初始化部门数组
  Erase Arr_EmpId
  ReDim Arr_EmpId(0)
  
   '连接数据库
  MyDB.openDB
  SqlStmt = "SELECT Id FROM Client WHERE ClientGroup=" _
          + Trim(Str(TmpDepId)) + " ORDER BY Id"
  
     '执行SQL语句
  Dim Isexe As Boolean
  Dim rsClient As ADODB.Recordset
  Isexe = MyDB.exeSql(SqlStmt, rsClient, True)
  
  i = 0
  Do Until rsClient.EOF
    '读取部门编号
   
    ReDim Preserve Arr_EmpId(i + 1)
    Arr_EmpId(i) = rsClient.Fields("Id")
    
    i = i + 1
  rsClient.MoveNext
  Loop
      
      '断开与数据库的连接
  MyDB.closeDB
End Sub

Public Sub Update(ByVal OriClientId As Integer)
    '连接数据库
  MyDB.openDB
    
   
'Public Id As String
'Public ClientGroup As String
'Public Name As String
'Public Caller As String
'Public Company As String
'Public Mobile As String
'Public Phone As String
'Public Detail As String
   
  SqlStmt = "Update Client Set ClientGroup='" + Trim(ClientGroup) _
          + "',Name='" + Trim(Name) + "',Caller='" + Trim(Caller) _
          + "',Company='" + Trim(Company) + "',Mobile='" + Trim(Mobile) _
          + "',Duty='" + Trim(Duty) _
          + "',Phone='" + Trim(Phone) _
          + "',Detail='" + Trim(Detail) _
          + "' WHERE Id=" + Trim(Str(OriClientId))
     '执行SQL语句
  Dim Isexe As Boolean
  Dim rsClient As ADODB.Recordset
  Isexe = MyDB.exeSql(SqlStmt, rsClient, True)
        '断开与数据库的连接
  MyDB.closeDB
End Sub

⌨️ 快捷键说明

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