devices.cls

来自「vb与access数据库的操作实例」· CLS 代码 · 共 174 行

CLS
174
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Devices"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 Id  文本 长度 50 设备编号
'2 Name  文本 长度 50  设备名称
'3 Model  文本 长度 50 设备类型
'4 TypeId 数字 整型 设备分类
'5 Price 数字 整型 单价
'6 DCount 数字 整型 数量
'7 Unit 文本 长度 10 计量单位
'8 CreateDate 日期\时间 创建时间
'9 Poster 文本 长度 30 提交人
'10 Flag 数字 字节 标记:1-设备;2-配件
'11 Status 文本 10 状态:正常,分配,报废


Public Id As String
Public Name As String
Public Model As String
Public TypeId As Long
Public Price As Long
Public DCount As Long
Public Unit As String
Public CreateDate As String
Public Poster As String
Public Flag As Integer
Public Status As String

Public Sub Init()
  Name = ""
  Model = ""
  TypeId = 0
  Price = 0
  DCount = 0
  Unit = ""
  CreateDate = ""
  Poster = ""
  Flag = 1
  Status = ""
End Sub

'删除设备信息
Public Sub Delete(ByVal TmpsId As String)
  SqlStmt = "DELETE FROM Device WHERE Id='" + Trim(TmpsId) + "'"
  SQLExt (SqlStmt)
End Sub

Public Function In_DB(ByVal TmpsId As String) As Boolean
  Dim rs As New ADODB.Recordset
  
  SqlStmt = "SELECT * FROM Device WHERE Id='" + Trim(TmpsId) + "'"
  Set rs = QueryExt(SqlStmt)
  If rs.EOF = True Then
    In_DB = False
  Else
    In_DB = True
  End If
End Function
Public Function GetInfo(ByVal TmpsId As String) As Boolean
  Dim rs As New ADODB.Recordset
  
  '设置SELECT语句,读取编号为TmpId的记录
  SqlStmt = "SELECT * FROM Device WHERE Id='" + Trim(TmpsId) + "'"
  '将结果集读取到rs中
  Set rs = QueryExt(SqlStmt)

  If rs.EOF Then
    '如果结果集为空,则初始化
    Init
    GetInfo = False
  Else
    '将结果集中的数据赋值到成员变量中
    If IsNull(rs.Fields(0)) Then
      Id = ""
    Else
      Id = rs.Fields(0)
    End If
    If IsNull(rs.Fields(1)) Then
      Name = ""
    Else
      Name = rs.Fields(1)
    End If
    If IsNull(rs.Fields(2)) Then
      Model = ""
    Else
      Model = rs.Fields(2)
    End If
    If IsNull(rs.Fields(3)) Then
      TypeId = 0
    Else
      TypeId = rs.Fields(3)
    End If
    If IsNull(rs.Fields(4)) Then
      Price = 0
    Else
      Price = rs.Fields(4)
    End If
    If IsNull(rs.Fields(5)) Then
      DCount = 0
    Else
      DCount = rs.Fields(5)
    End If
    If IsNull(rs.Fields(6)) Then
      Unit = ""
    Else
      Unit = rs.Fields(6)
    End If
    If IsNull(rs.Fields(7)) Then
      CreateDate = ""
    Else
      CreateDate = rs.Fields(7)
    End If
    If IsNull(rs.Fields(8)) Then
      Poster = ""
    Else
      Poster = rs.Fields(8)
    End If
    If IsNull(rs.Fields(9)) Then
      Flag = 1
    Else
      Flag = rs.Fields(9)
    End If
    If IsNull(rs.Fields(10)) Then
      Status = ""
    Else
      Status = rs.Fields(10)
    End If
    GetInfo = True
  End If
End Function
   
'插入分类
Public Sub Insert()
  SqlStmt = "INSERT INTO Device(Id,Name,Model,TypeId,Price,DCount," & _
          "Unit,CreateDate,Poster,Flag,Status)" & _
          "VALUES('" + Trim(Id) + "','" + Trim(Name) + "','" & _
          Trim(Model) + "'," + Trim(TypeId) + "," + Trim(Price) + "," & _
          Trim(DCount) + ",'" + Trim(Unit) + "','" + Trim(CreateDate) + "','" & _
          Trim(Poster) + "'," + Trim(Flag) + ",'" + Trim(Status) + "')"
  SQLExt (SqlStmt)
End Sub
'更新数据
Public Sub Update(ByVal TmpsId As String)
   SqlStmt = "UPDATE Device SET Name='" + Trim(Name) & _
          "',Model='" + Trim(Model) + "',TypeId=" + Trim(TypeId) + "," & _
          "Price=" + Trim(Price) + ",DCount=" + Trim(DCount) + ",Unit='" & _
          Trim(Unit) + "',CreateDate='" + Trim(CreateDate) + "',Poster='" & _
          Trim(Poster) + "' Where Id='" + Trim(TmpsId) + "'"
  SQLExt (SqlStmt)
End Sub
'更新设备状态
Public Sub UpdateStatus(ByVal TmpsId As String)
   SqlStmt = "UPDATE Device SET Status='" + Trim(Status) + "'" & _
          " Where Id='" + Trim(TmpsId) + "'"
  SQLExt (SqlStmt)
End Sub
'更新配件数量
Public Sub UpdateCount(ByVal TmpsId As String, ByVal TmpCount As Integer)
   SqlStmt = "UPDATE Device SET DCount=DCount-" + Trim(TmpCount) & _
          " Where Id='" + Trim(TmpsId) + "'"
  SQLExt (SqlStmt)
End Sub

⌨️ 快捷键说明

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