软件项目管理指导书

  • 格式:doc
  • 大小:284.00 KB
  • 文档页数:13

编写:周淦淼 学籍管理系统

要求:本系统通过VB与MS SQL Server 2000数据库相结合,开发出一个学籍管理系统。本系统用于中小学校的学籍管理。

一、系统功能结构

学籍管理系统课程设置学生信息课程类型课程信息开设课程学生资料登记成绩基础数据学校信息年级信息班级信息学期信息查询学生信息学生成绩系统添加操作员删除操作员修改密码退出

二、数据库设计

• s_admin(操作员)表:用于保存允许使用系统的操作员的信息。

• s_school(学校信息)表:用于保存学校的相关信息。

• s_grade(年级信息)表:用于保存每个年级的信息。

• s_class(班级信息)表:用于保存每个班级的信息。

• s_student(学生信息)表:用于保存每个学生的相关信息。

• s_course(课程信息)表:用于保存每门课程的相关信息。

• s_coursetype(课程类型)表:用于保存课程的类型。该

• s_gradecourse(年级课程信息)表:用来保存年级开课情况。

• s_term(学期名称)表:用来保存学期信息。

• s_result(学生成绩)表:用来保存学生的成绩信息。

三、系统效果

四、关键代码

1、主函数 Public fMainForm As frmMain

Sub Main()

Dim fLogin As New frmLogin

Conn = "data source=.;initial catalog=student;user

id=sa;password=sa;" '数据库连接字符串

fLogin.Show vbModal '显示登录窗体

If Not fLogin.OK Then '若登录失败

End '退出应用程序

End If

Unload fLogin '卸载登录窗体

Set fMainForm = New frmMain '生成主窗体

Load fMainForm '装载主窗体

fMainForm.Show '显示主窗体

End Sub

2、数据库连接

Private IsConnect As Boolean ' 标记数据库是否连接

Private Connect_Num As Integer ' 标记执行Connect()函数后,访问数据库的次数

Private cnn As ADODB.Connection '连接数据库的Connection对象

Private rs As ADODB.Recordset '保存结果集的Recordset对象

Public strSQL As String '保存执行SQL语句的字符串

Public Conn As String '连接字符串

Public UserName As String '操作员名称

Public Right As Integer '操作员权限

Private Sub Connect() '连接数据库

If IsConnect = True Then '如果连接标记为真,则返回。否则会出错

Exit Sub

End If

Conn = "data source=.;initial catalog=student;user

id=sa;password=;"

On Error GoTo DbOpenErr

Set cnn = New ADODB.Connection '关键New用于创建新对象cnn

With cnn

.Provider = "sqloledb"

.ConnectionString = Conn

.ConnectionTimeout = 10

.Open

End With IsConnect = True '设置连接标记,表示已经连接到数据库

Exit Sub

DbOpenErr:

If Err = -2147467259 Then

Set cnn = Nothing

MsgBox "连接MS SQL Server数据库失败!" &

vbCrLf & vbCrLf & "请检查配置是否完好,数据库Student是否存在?", vbOKOnly + vbInformation, "学籍管理系统"

End

End If

End Sub

Public Sub Disconnect() '断开与数据库的连接

Dim rc As Long

If IsConnect = False Then Exit Sub '如果连接标记为假,标明已经断开连接,则直接返回

End If

cnn.Close '关闭连接

Set cnn = Nothing

IsConnect = False End Sub

Public Sub DB_Connect() '使用Connect_Num控制数据库连接

Connect_Num = Connect_Num + 1

Connect

End Sub

Public Sub DB_Disconnect()

If Connect_Num >= CONNECT_LOOP_MAX Then

Connect_Num = 0

Disconnect

End If

End Sub

Public Sub DBapi_Disconnect() '强制关闭api方式访问的数据库,计数器复位

Connect_Num = 0

Disconnect

End Sub

Public Sub SQLExt(ByVal TmpSQLstmt As String) '执行数据库操作语句

Dim cmd As New mand '创建Command对象cmd

DB_Connect '连接到数据库

Set cmd.ActiveConnection = cnn '设置cmd的ActiveConnection属性,指定与其关联的数据库连接

mandText = TmpSQLstmt '设置要执行的命令文本

cmd.Execute

Set cmd = Nothing

DB_Disconnect

End Sub

Public Function QueryExt(ByVal TmpSQLstmt As String) As

ADODB.Recordset '执行数据库查询语句

Dim rst As New ADODB.Recordset

DB_Connect '连接到数据库

Set rst.ActiveConnection = cnn '设置rst的ActiveConnection属性,指定与其关联的数据库连接

' rst.CursorType = adOpenDynamic '设置游标类型

rst.CursorType = adOpenKeyset

rst.LockType = adLockOptimistic '设置锁定类型

rst.Open TmpSQLstmt '打开记录集 Set QueryExt = rst '返回记录集

End Function

Public Function MakeStr(ByVal Str As String) As String

MakeStr = Trim(Replace(Str, "'", "''"))

End Function