⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classes.cls

📁 这是我们公司的题库管理系统,用VB实现,可以进行试题制作,编辑、试卷制作、试卷生成和试卷打印(A3/和A4)
💻 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 = "Classes"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 Classid  Int 课程编号
'2 ClassName  Varchar 30  课程名称
'3 Describe  Varchar 100 课程描述
'4 UpperId Int 上级课程编号

Public ClassId As Long
Public Classname As String
Public Describe As String
Public UpperId As Long



Public Sub Init()
  ClassId = -1
  Classname = ""
  Describe = ""
  UpperId = -1
End Sub

'删除
Public Sub Delete(ByVal TmpId As Long)
  DB_Connect
  
  SqlStmt = "DELETE FROM Classes WHERE ClassId=" + Trim(Str(TmpId))
  OdbcExt (SqlStmt)
  rc = SQLFreeStmt(Hstmt, SQL_DROP)

  DB_Disconnect
End Sub

Public Sub GetInfo(TmpName As String)
  Classname = TmpName
  
  DB_Connect
  
  SqlStmt = "SELECT * FROM Classes WHERE ClassName='" + 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)
    ClassId = Val(ColVal)
    '读取课程描述
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
    Describe = TrimStr(ColVal)
    '读取上一级课程的编号
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 4, 1, ColVal, Len(ColVal), pcblen)
    UpperId = Val(ColVal)
  Else
    Init
  End If
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Sub
'得到课程名
Public Function GetName(ByVal TmpId As Long) As String
  DB_Connect

  SqlStmt = "SELECT ClassName FROM Classes WHERE ClassId=" + Trim(Str(TmpId))
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    GetName = TrimStr(ColVal)
  Else
    GetName = "课程信息"
  End If
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Function

Public Function GetNewId() As Long
  Dim TmpId As Long
  '连接数据库
  DB_Connect
  '设置要执行的SQL语句
  SqlStmt = "SELECT ClassId FROM Classes ORDER BY ClassId"
  '执行SQL语句
  OdbcExt (SqlStmt)
  
  '读取SELECT语句返回的查询结果
  i = 1
  Do While SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND
    ColVal = String(40, 0)
    rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    TmpId = Val(ColVal)
    If TmpId = i Then
      i = i + 1
    Else
      GetNewId = i
      rc = SQLFreeStmt(Hstmt, SQL_DROP)
      DB_Disconnect
      Exit Function
    End If
  Loop
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  '断开与数据库的连接
  DB_Disconnect
  
  '将得到的新编号作为函数的返回值
  GetNewId = i
End Function
'使用了
Public Function HaveSon(ByVal TmpUpperId As Long) As Boolean
  DB_Connect
  
  SqlStmt = "SELECT ClassId FROM Classes WHERE UpperId=" + Trim(Str(TmpUpperId))
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
    HaveSon = False
  Else
    HaveSon = True
  End If
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Function

Public Function In_DB(ByVal Classname As String) As Boolean
  DB_Connect
  
  SqlStmt = "SELECT ClassId FROM Classes WHERE ClassName='" + Trim(Classname) + "'"
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
    In_DB = False
  Else
    In_DB = True
  End If
  rc = SQLFreeStmt(Hstmt, SQL_DROP)

  DB_Disconnect
End Function

Public Function Insert() As Long
  Dim ClassId As Long
  '生成新的编号
  ClassId = GetNewId
  
  DB_Connect
  SqlStmt = "INSERT INTO Classes VALUES(" + Trim(Str(ClassId)) + ",'" _
            + Trim(Classname) + "','" + Trim(Describe) _
            + "'," + Trim(Str(UpperId)) + ")"
  OdbcExt (SqlStmt)
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
  Insert = ClassId
End Function
'得到所有课程子课程的全部信息
Public Sub Load_Class_ByUpper(ByVal ClassId As Long)
  Dim i As Integer
  '初始化课程数组
  Erase Arr_ClassName
  Erase Arr_ClassDescribe
  Erase Arr_ClassId
  ReDim Arr_ClassName(0)
  ReDim Arr_ClassDescribe(0)
  ReDim Arr_ClassId(0)
  
  DB_Connect
  SqlStmt = "SELECT ClassId,ClassName,Describe FROM Classes WHERE UpperId=" + Trim(Str(ClassId))
  OdbcExt (SqlStmt)
  i = 0
  Do Until SQLFetch(Hstmt) = 100
    '读取课程编号
    ColVal = String(40, 0)
    rc = SQLGetData(Hstmt, 1, 1, ColVal, Len(ColVal), pcblen)
    ReDim Preserve Arr_ClassId(i + 1)
    Arr_ClassId(i) = Val(ColVal)
    '读取课程名称
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
    ReDim Preserve Arr_ClassName(i + 1)
    Arr_ClassName(i) = TrimStr(ColVal)
    '读课程描述
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
    ReDim Preserve Arr_ClassDescribe(i + 1)
    Arr_ClassDescribe(i) = Val(ColVal)
    i = i + 1
  Loop
  '存入了章节数
  FrmclassMan.num = i - 1
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  
  DB_Disconnect
End Sub

'更新数据
Public Sub Update(ByVal TmpId As Long)
  DB_Connect
  
  SqlStmt = "UPDATE Classes SET ClassName='" + Trim(Classname) _
          + "',Describe='" + Trim(Describe) _
          + "' WHERE ClassId=" + Trim(Str(TmpId))
  OdbcExt (SqlStmt)
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Sub


⌨️ 快捷键说明

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