软件项目管理指导书
- 格式: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