on 字段名 数据类型 说明 是否为空 是否为关键字 ID 文本 课程代号 Not Null Primary Key Name 文本 课程名称 Not Null Time 文本 课时 Not Null Mark 文本 学分 Not Null 7学生成绩表Result 字段名 数据类型 说明 是否为空 是否为关键字 ID 文本 学生学号 Not Null Primary Key Name 文本 课程名称 Not Null Primary Key Score 文本 分数 Not Null Remark 文本 备注 Not Null 22系统流程图 图2.1 系统流程图 23 系统功能分析 系统开发的目标是实现学生学籍管理的系统化、规范化和自动化这是在 用户要求的基础上提出来的功能要求如下 一学生信息管理能对学生信息进行添加、修改、删除。
二课程管理对课程进行添加、修改、删除操作。
三专业/学院设置 三考试成绩管理 四查询学生信息根据学号或姓名对学生信息进行精确/模糊查询 五用户管理定义使用本系统的用户名称及密码 第三章 系统具体实现 经过需求分析、功能模块设计之后要进入详细设计阶段本阶段将按系统的主要模块进行论述重在阐述具体的某项功能的实现方法或运用到的相关技术。
31 准备工作 1 添加引用单击工程菜单中的引用选项添加Microsoft ActiveX Data Objects 2.6 Library和Microsoft Excel 9.0 Object Library两个引用。
2 添加部件单击工程菜单中的部件选项添加Microsoft ADO Data Control 6.0OLEDB、Microsoft Common Dialog Control 6.0SP3 、Microsoft FlexGrid Control 6.0、Microsoft Windows Common Controls 6.0SP4和Microsoft Windows Common Controls-2 6.0五项。
32 模块设计 添加两个模块module1和module2在module1中添加如下代码 Option Explicit Global con As New ADODB.Connection Global rs As New ADODB.Recordset Global classid As String stuid As String Global LoginUser As String LoginPower As String LoginUser记录当前登陆用户的用户名LoginPower记录当前登陆用户的权限 Dim Userid As String Userpwd As String Username As String Userpower As String Dim sqlstr As String gtgt VB学生学籍管理系统论文源程序 Sub Main If App.PrevInstance True Then MsgBox quot注意程序已经运行不能再次装载quot vbOKOnly Exit Sub Else Con.Open quotProviderMicrosoft.Jet.OLEDB.4.0Data SourcequotampApp.Pathquotstudent.mdbquot Frmlogin.Show End If End Sub 在module2中添加代码MD5算法 详细代码见程序中module2.bas 33 用户界面实现 331 登陆界面frmlogin 因为本系统是按学籍管理的思想设计的故而登陆部分主要完成密码校验、确定管理员等功能对于密码本系统采用的是MD5算法。
这里附上本程序的登陆界面见图3.1。
图3.1 用户登陆界面 在代码窗口的“通用”部分定义一个模块级的公共变量loginno用来记录当前密码输入错误的次数 Dim loginno As Integer 在Form的Load事件中将txtuser设置为焦点初始化loginno。
Private Sub Form_Load loginno 0 Me.Show txtuser.SetFocus End Sub 这里将“确定”和“取消”两个按钮作为一个按钮数组cmdOkCancel确定按钮的index属性为0取消按钮的index属性为1。
利用SQL语句在数据库中查询如果查到相应的记录则调用Case 0事件用户的登陆获得通过此时可以退出登陆窗口并进入MDI主窗口同时将用户类型和用户名分别传递到MDI主窗口和frmmanage中如果没有相应的记录则给出提示错误信息同时将用户输入错误密码次数增加1如果错误超过3次则退出整个系统若次数还没有超过3次则提示用户重新输入。
根据以上的设计cmdOkCancel的Click事件的代码如下 Private Sub cmdOkCancel_ClickIndex As Integer Select Case Index Case 0 ???? Userid Trimtxtuser.Text Userpwd MD5TrimtxtPassword.Text sqlstr quotselect from UserInfo where UserIDquot amp Userid amp quotquot rs.Open sqlstr con 1 1 If Not rs.EOF Then If rsquotUserPWDquot ltgt Userpwd Then 密码错误时 MsgBox quot您输入的密码不正确quot vbQuestion Me.Caption quot请输入用户名和密码quot loginno loginno 1 当错误的密码次数达到3次时不能登陆退出