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

📄 exams.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 = "Exams"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Public ExamId As Integer '题号INT
Public ClassId As Integer '课程号INT
Public TitleName As String '题型名STRING 20
Public UserName As String '录入员  STRING 20
Public Describe As String '描述 STRING 50

Public Sub Init()
  ExamId = -1
  ClassId = -1
  TitleName = ""
  UserName = ""
  Describe = ""
End Sub

Public Function GetNewId() As Long
  Dim TmpId As Long
  '连接数据库
  DB_Connect
  '设置要执行的SQL语句
  SqlStmt = "SELECT ExamId FROM Exams ORDER BY ExamId"
  '执行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 Counts() As Long
  DB_Connect
  SqlStmt = "SELECT ExamId  FROM Exams "
  OdbcExt (SqlStmt)
  i = 0
  Do Until SQLFetch(Hstmt) = 2000
   i = i + 1
  Loop
  Counts = i
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Function

'查看一章节的某题型的数量
Public Function In_Db3(ByVal TmpExamId As Integer, ByVal TmpClassId As Integer, _
ByVal TmpTitle As String) As Boolean
  DB_Connect
  SqlStmt = "SELECT ExamId  FROM Exams WHERE ExamId=" _
        + Trim(Str(TmpExamId)) + "and ClassId=" _
      + Trim(Str(TmpClassId)) + " and TitleName='" + Trim(TmpTitle) + "'"
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
    In_Db3 = False
  Else
    In_Db3 = True
  End If
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Function
'查看一章节的某题型的数量
Public Function ExamCount(ByVal TmpId As Integer, ByVal TmpTitle As String) As Integer
  DB_Connect
  SqlStmt = "SELECT ExamId  FROM Exams WHERE ClassId=" _
      + Trim(Str(TmpId)) + " and TitleName='" + Trim(TmpTitle) + "'"
  OdbcExt (SqlStmt)
  i = 0
  Do Until SQLFetch(Hstmt) = 100
   i = i + 1
  Loop
  ExamCount = i
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Function

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

  DB_Disconnect
End Sub
Public Sub GetInfo(TmpExamId As Integer)
  ExamId = TmpExamId
  
  DB_Connect
  
  SqlStmt = "SELECT * FROM Exams WHERE ExamId=" + Trim(TmpExamId)
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) <> SQL_NO_DATA_FOUND Then
    '读取课程名称
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 2, 1, ColVal, Len(ColVal), pcblen)
    ClassId = Val(ColVal)
    '读取题型名称
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 3, 1, ColVal, Len(ColVal), pcblen)
    TitleName = TrimStr(ColVal)
    '读取题目录入员
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 6, 1, ColVal, Len(ColVal), pcblen)
    UserName = TrimStr(ColVal)
    '读取备注
    ColVal = String(400, 0)
    rc = SQLGetData(Hstmt, 7, 1, ColVal, Len(ColVal), pcblen)
    Describe = TrimStr(ColVal)
  Else
    Init
  End If
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  
  DB_Disconnect
End Sub
Public Function In_DB(ByVal TmpClassId As Integer, ByVal TmpTitleName As String) As Boolean
  DB_Connect
  SqlStmt = "SELECT ExamId FROM Exams WHERE ClassId=" _
  + Trim(Str(TmpClassId)) + "and titlename= '" + Trim(TmpTitleName) + "'"
  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 In_DB2(ByVal TmpClassId As Integer) As Boolean
  DB_Connect
  SqlStmt = "SELECT ExamId FROM Exams WHERE ClassId=" + Trim(Str(TmpClassId))
  OdbcExt (SqlStmt)
  If SQLFetch(Hstmt) = SQL_NO_DATA_FOUND Then
    In_DB2 = False
  Else
    In_DB2 = True
  End If
  rc = SQLFreeStmt(Hstmt, SQL_DROP)
  DB_Disconnect
End Function

⌨️ 快捷键说明

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