在线学籍管理系统毕业设计开题报告

时间:2024.5.7

毕业设计(论文)开题报告

课 题 名 称 : 学籍管理系统分析与实现

学 院 :

专 业 :

姓 名 : __

学 号 :

指 导 教 师 :

二00 年 月 日

1、背景介绍

随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益

普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大,从而

使我们从繁杂的事务中解放出来,提高了我们的工作效率。

另一方面,随着Internet飞速发展,它越来越成为人们生活中的一部分,人们

亲切地把它叫做信息高速公路。随着计算机技术及通信技术的普及,人们有越来

越多的机会,访问internet,并从Internet中获取资源,Internet紧密的与人们的生

更多资料尽在: 大学生部落-大学生第一门户社区

活联系起来。目前,我国上网的计算机数为146万台,上网人数超过400万人。显然解决企业宣传问题的途径之一,就是将计算机引入进来,以现在流行的B/S模式,为用户创建一个交流的平台。

在学校,学籍管理工作是非常重要的一项工作,它负责整个学校的日常教学安排,学生的学籍管理等等。以前都是人工进行操作。随着学校规模扩大,学籍处的学籍管理工作量大大加重。随着计算机应用的发展,学籍工作者急切希望能够将大部分繁琐的工作交由计算机的处理,已减轻人工的压力并提高工作效率。而计算机的普及更加快了学籍管理系统的产生。

因此,使用现在的新技术,开发出适应新的需求的新系统的任务刻不容缓。

2、研究现状

上一代的学籍管理系统主要为单机单用户的系统,其数据库主要采用

Foxbase或FoxPro,系统开发环境也是数据库内置的开发工具。其特点是单机单用户方式,开发简单,能充分利用数据库的特性。其缺点是开发出的系统依赖性强,运行必须依托数据库环境;不容易升级与扩展;无法实现数据的共享与并行操作;代码重用性差。

随着计算机网络的发展,特别是校园网的建立。原有学籍管理系统数

据共享差的问题更加突出,而新需求的提出也越来越多,越来越频繁。这就要求系统在可扩展性和标准化的要求更高。而原有的系统由于其与生俱来的缺点而无法在适应现有的需求了。

3、课题研究内容

该系统适用于普通中小学校学籍员,其功能主要分为四大类:

课程信息管理 用于对课程信息的维护(增加、删除、修改 )

班级信息管理 用于对班级信息的维护(增加、删除、修改 )

教师信息管理 用于对教师信息的维护(增加、删除、修改 )

学生基本信息管理 用于班级信息和学生信息的建立和修改以及查询;

成绩管理 用于成绩的输入、修改、汇总和排名。

4、技术路线

1

1、本系统拟使用ASP技术进行开发,在安装Windows2000操作系统、IIS 5.0的服务器上进行测试。

2、本报名系统采用B/S方式,在小型局域网内进行前期测试工作。

3、使用ACCESS数据库,高效且稳定性好,并进行有效的数据库加密,加强安全性。

4、本系统拟实现能够实现楼盘的展示,能够将客户的需求、汇总到数据库中。

5、关键技术介绍

5.1 ASP技术

ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象分别是:

? Request对象:Request对象可以保存Client端送往Server端的所有信息。

这些信息包括:使用Get或Post方法传递的数据、Server环境变量、Cookie

信息等。在没有指定表单集合的情况下,程序将以QueryString、Form、

Cookie、ServerVariable的顺序搜索所有集合,寻找指定变量。

? Response对象:Response对象的主要功能是将信息从Server端传送到

Client端。也可以用来实现页面的跳转或Cookie值的设定。由于ASP

脚本没有输出“值“的功能,要完成此功能必须使用Response对象。

? Server对象:Server对象的主要功能是执行与Web服务器直接相关的一

些操作。

? Session对象:Session对象能够记录用户每一次上线的个人信息,它相

当于每个上线用户的私有变量集合。它随着用户的上线而产生,随着用

户的下线或强制解除而终止。

? Application对象:Application对象能记录所有Web用户的共有信息,它

相当于所有上线用户的公共变量集合。它伴随着Web应用程序的开始运

行而产生,随着Web应用程序的运行结束而终止。

Objectcontext对象:Objectcontext对象主要在进行交易处理时使用,利用该对象可以管理、控制这些交易。

2

5.2 IIS与ASP的结合

在过去,客户端/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。

利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:

1.减少构建和维护成本

2.加快联机过程

3.应用软件集中在服务器端开发管理

4.前端可使用任何浏览器(IE、Netscape?)

5.后端可存取任何数据库 (SQL、Access?)

6.可使用任何脚本语言开发 (VBScript、JavaScript?)

4.4 利用ADO访问数据库

在Web动态交互过程中,经常需要根据用户输入的查询条件来查询数据库,从数据库中取出结果并以一定的格式显示给用户。有时也需要从用户那里收集信息,并按一定的格式保存到数据库里。ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。

1.创建数据库链接(Connection)

Connection对象是网页通过ADO存取数据库的重要手段,Connection对象负责与数据库实际的连接工作。链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库 3

的链接,其语法如下:

Set Conn = Server.CreateObject("ADODB.Connection")

connstr="driver={MicrosoftAccessDriver(*.mdb)};dbq="+Server.MapPath("db/data.mdb")

这条语句创建了链接对象Conn,接下来:

Conn.Open connstr,“username”,“password”

这条语句打开链接,connstr表示与数据源建立连接的相关信息,这里以与本系统的数据库连接为例,其后的两个参数分别是访问数据库的用户名和口令,为可选参数。

以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。

2.创建数据对象(Recordset)

ADO使用Recordset(记录集)对象作为数据的主要容器。ADO可以使用VBScript、JavaScript脚本语言来控制数据库的存取以及输出结果的查询,还可以使用存储过程或SQL指令传回对组记录集。Recordset对象代表着执行一个命令后返回的完整记录集合,所有的Recordset对象都是通过记录和字段构造的。创建一个Recordset对象可以使用以下语法:

Set rs=server.CreateObject("ADODB. Recordset")

这里"ADODB. Recordset"字符串用来创建Recordset对象。这个字符串通过CreateObject传给操作系统,系统识别出"ADODB. Recordset",从而创建对应的对象。从而得到一个记录集对象变量。当打开一个记录集时,如果不为空,则当前的指针指向第一条记录。当记录指针指到记录集末尾时,rs.EOF为真;当记录指针指到记录集头时,rs.BOF为真。Recordset对象还可以通过Connection对象的Execute方法得到。如:

Set rec=Conn.Execute("select * from product")

6、要解决的技术问题

1.ASP对数据库的访问

2.JAVASCRIPT与ASP的结合

3.在线订房信息与客户关系管理的结合

7、日程安排

4

20xx年11月19日-11月15日 分析题目,查阅资料,作好前期准备工作。 20xx年11月16日-12月10日 程序设计,系统调试。

20xx年12月11日-12月30日 撰写论文。

8、参考文献

1.《网页设计与web数据库发布技术》魏应彬、周星、康耀红编著 2004版 清华大学出版社

2.《软件工程-实践者的研究方法》(美)Roger S.Pressman 2002版 机械工业出版社

3.《数据库应用技术SQL2000 及其应用系统开发》李禹生 向云柱等编 2001版 中国水利水电出版社

4.《Dreamweaver MX网页设计指南》周明涛编 2005版 机械工业出版社

更多资料尽在: 大学生部落-大学生第一门户社区 5


第二篇:毕业设计说明书范例(学生学籍管理系统论文)


长沙职业技术学院

  毕业论文(设计)

【摘   要】

学生学籍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,我使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

【关键字:】

控件   窗体   域


ABSTRACT

The system of managing student file is a typical application of managing information system (know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data. The later should make the application powerful and easily used.

By looking up lots of datum, I selected Visual Basic presented by Microsoft because of its objective tools in Win32. VB offered a series of ActiveX operating a database. It can give you a short cut to build up a prototype of system application. The prototype could be modified and developed till users are satisfied with it.

Keywords:

ActiveX   Form   Field  

目   录

1、前言  ……………………………………………………………………………6

2、 系统概述 ………………………………………………………………7

1.1 开发背景………………………………………………………………………7

1.2 学籍管理系统概述……………………………………………………………7

1.3 开发环境及开发工具介绍……………………………………………………7

1.3.1开发环境 ………………………………………………………………8

1.3.2 开发工具…………………………………………………………9

3、 设计总体规划…………………………………………………………11

2.1 数据库设计…………………………………………………………………11

2.2 设计流程图…………………………………………………………………11

2.3设计功能分析………………………………………………………………13

4、 设计具体实现  ………………………………………………………14

3.1 准备工作 ……………………………………………………………………15

3.2 模块设计 ……………………………………………………………………17

3.3 用户界面的实现 ……………………………………………………………18

3.3.1 登陆界面(frmlogin)………………………………………………… 19

3.3.2 MDI主窗体(frmmain)………………………………………………20

3.3.3 用户管理窗体(frmmanage)…………………………………………18

3.3.4 修改密码窗体(frmchgPWD)…………………………………………24

3.3.5 浏览学生信息窗体(frmstu)…………………………………………36

3.3.6添加/修改学生信息窗体(frmAddstu)………………………………37

3.3.7学生学籍管理模块 …………………………………………………………38

3.3.8 报表功能模块…………………………………………………………39

主要参考文献……………………………………………………………………43

1、前  言

学生学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件学籍,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生学籍信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中将以开发一套学生学籍管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。


2系统概述

2.1 开发背景

2.1.1 当前趋势

该学籍管理系统采用多层架构的系统,是真正适应教育信息化发展三大趋势的校园网络应用系统,全面支持Internet功能、远程访问功能,全部采用最先进的B/S(浏览器/服务器) 模式来开发,基本目标是在学校内部和外部建立起顺畅的信息通道,提高学校的管理水平和效率,以便克服了目前大部分学校的校园网建设只起到宣传作用的通病。

2.1.2  用计算机管理学生学籍的意义

现在我国的中小学校中学籍的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

作为一个计算机应用的本科生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我多年的所学编制出一个实用的程序来帮助中小学进行更有效的学籍管理。

归纳起来,好处大约有以下几点:

1.可以存储历届的学生学籍,安全、高效;

2.只需一到二名学籍录入员即可操作系统,节省大量人力;

3.可以迅速查到所需信息。

2.2 学籍管理系统概述

2.2.1 开展该系统的原因

由于现今的学籍管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻校方人员的工作负担,决定开发学籍管理系统软件。
2.2.2 该工程的基本目标

开发此学籍管理系统软件,以供教学人员及操作者进行学籍管理,方便操作者随时添加、查询、修改等。为了我们提高软件开发的能力,学习汉语编程的技巧,提高工作设计思想,通过本次的工程开发,开发小组成员与辅助老师,公司的技师交流,能从中学习知识吸取经验,再技术和软件思想上同时得到锻炼和提高,从而使总体水升到一个新的高度。

2.3 开发环境以及开发工具介绍

该软件是在Windows xp + Visual Basic 6.0 + SQL Server 2000的环境下完成的。下面就对这些开发工具进行介绍:

3 设计整体规划

3.1数据库的设计

在系统设计过程中,首先要建立的就是数据库。本数据库采用SQL Server 2000来构造,共使用了7个表,它们分别是用户信息表(UserInfo)、学生信息表(StuInfo)、班级信息表(Class)、专业信息表(Major)、学院信息表(Depart)、课程信息表(Lesson)、学生成绩表(Result)。

1.用户信息表(UserInfo):

2.学生信息表(StuInfo):

3.班级信息表(Class):

4.专业信息表(Major):

5.学院信息表(Depart):

6.课程信息表(Lesson):

7.学生成绩表(Result):

3.2设计流程图

 

                                                 

 

                            

                                                        

图2.1 系统流程图

3.3 设计功能分析
系统开发的目标是实现学生学籍管理的系统化、规范化和自动化,这是在

用户要求的基础上提出来的,功能要求如下:

(一)学生信息管理:能对学生信息进行添加、修改、删除。

(二)课程管理:对课程进行添加、修改、删除操作。

(三)专业/学院设置:

(三)考试成绩管理:

(四)查询学生信息:根据学号或姓名对学生信息进行精确/模糊查询

(五)用户管理:定义使用本系统的用户名称及密码

4 设计具体实现

经过需求分析、功能模块设计之后要进入详细设计阶段,本阶段将按系统的主要模块进行论述,重在阐述具体的某项功能的实现方法或运用到的相关技术。

4.1 准备工作

1.添加引用:单击工程菜单中的引用选项,添加Microsoft ActiveX Data Objects 2.6 Library和Microsoft Excel 9.0 Object Library两个引用。

2. 添加部件:单击工程菜单中的部件选项,添加Microsoft ADO Data Control 6.0(OLEDB)、Microsoft Common Dialog Control 6.0(SP3) 、Microsoft FlexGrid Control 6.0、Microsoft Windows Common Controls 6.0(SP4)和Microsoft Windows Common Controls-2 6.0五项。

4.2 设计步骤

4.2.1 登陆界面(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_Click(Index As Integer)

   Select Case Index

      Case 0

        ……

        Userid = Trim(txtuser.Text)

        Userpwd = MD5(Trim(txtPassword.Text))

   

        sqlstr = "select * from UserInfo where UserID='" & Userid & "'"

        rs.Open sqlstr, con, 1, 1

   

    If Not rs.EOF Then

        If rs("UserPWD") <> Userpwd Then

           '密码错误时

            MsgBox "您输入的密码不正确!", vbQuestion

            Me.Caption = "请输入用户名和密码:"

            loginno = loginno + 1

           

            '当错误的密码次数达到3次时,不能登陆,退出!

            If loginno = 3 Then

      MsgBox "对不起,您不能使用该系统!请与管理员联系。", vbInformation

                Unload Me

                Exit Sub

            End If

            ……

         Else

           LoginUser = Userid       '保存当前登陆用户名

           LoginPower = rs.Fields(3)

 '将当前登陆用户的权限保存到LoginPower中

           Unload Me

           frmflash.Show

         End If

    Else

        MsgBox "没有您输入的用户名!", 32

        ……

    End If

    rs.Close: Set rs = Nothing

     Case 1

        ‘退出整个程序

        Unload Me

   End Select

End Sub

4.2.2 MDI主窗口(frmmain)

本系统采取多文档界面(MultiDocument Interface)。多文档界面是一种Windows用户界面标准。它有一个父窗口,在典型情况下,父窗口用来显示程序菜单以及包含子窗口。

在工程中添加一个MDI窗口,取名为“frmmain.frm”,并为MDI窗体进行菜单和代码的设计,其运行界面如图3.2:

图3.2 主界面

4.2.2.1 菜单设计

MDI主窗体是整个系统的容器,为了方便用户的使用,应设计相应的菜单和代码。

4.2.2.2 窗体代码设计

1.在代码窗口的通用部分,声明一个API函数用于打开帮助文件和调用Outlook发送邮件。

Private Declare Function ShellExecute& Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long)

2.判断用户权限

如果登陆的为普通用户类型的用户,则用户不能使用“用户管理”这一功能,而对于管理员类型的用户,则没有此限制。所以在MDIForm的Load事件中需要判断用户类型。

Private Sub MDIForm_Load()

   StatusBar.Panels(2).Text = "当前操作员:" & LoginUser & "    " & LoginPower & ""

   If LoginPower = "普通用户" Then

      filemenu11.Enabled = False

      Toolbar1.Buttons.Item(5).Enabled = False

   End If

End Sub

3.Form的QueryUnload事件

当用户要退出MDI窗体时,需要在 QueryUnload事件中询问用户是否真的要退出本系统;如果用户不要退出,则将Cancel置为1,取消整个退出过程。

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)

  If MsgBox("确定要退出学生档案管理系统吗?是/否",

vbYesNo+vbQuestion+ vbDefaultButton1) = vbNo Then

     Cancel = 1

  End If

End Sub

QueryUnload和Unload事件

当一个子窗体或一个Form对象关闭时,在那个窗体中的QueryUnload事件先于该窗体的Unload事件发生,Unload事件在Terminate事件之前发生。

当一个应用程序关闭时,可使用QueryUnload或Unload事件过程将Cancel属性设置为True来阻止关闭过程。但是,QueryUnload事件是在任一个卸载之前在所有窗体中发生,而Unload是在每个窗体卸载时发生。

在这两个事件中,均可将Cancel设置为任何非零的值来防止窗体被删除。但Unload不能阻止其他事件,诸如从Microsoft Windows操作环境中退出等;而QueryUnload事件则可以阻止从Windows中的退出。有介于此,通常来说都是在QueryUnload中询问用户是否要退出当前窗体。

4.“重新登陆”子菜单的代码

当单击了“重新登陆”或者按下了“F2”键时,将会给出提示,如果用户在提示框中按下了“确定”按钮,则退出整个MDI主窗体,并显示登陆窗体。

Private Sub filemenu15_Click()

If MsgBox("若重新登陆,所有窗体都将关闭!是否重新登陆?", vbYesNo + vbQuestion,   "重新登陆") = vbYes Then

      Unload Me
      Frmlogin.Show

   End If

End Sub

5.“帮助主题”子菜单的代码

调用Windows API函数,打开help.chm帮助文件。

Private Sub filemenu21_Click()

   ShellExecute 0, "open", App.Path & "\help.chm", "", "", 1

End Sub

6.“给我发邮件”子菜单的代码

如果用户单击了“给我发邮件”子菜单,则会调用API函数,调用Outlook。

Private Sub filemenu22_Click()

   ShellExecute Me.hwnd, "open", "mailto:datou158@etang.com", "", App.Path, 1

End Sub

7.当用户单击查询学生资料菜单项或者按下F3键时,将会出现“查找学生”窗体,供用户查找满足特定要求的学生信息。

Private Sub filemenu45_Click()

   '查找学生

   frmstusearch.Show 1

End Sub

3.3.3 用户管理窗体(frmmanage)

向项目中添加窗体,并命名为frmmanage.frm。窗体的控件设计如图3.3所示

 

图3.3 用户管理界面

如果登陆的用户类型是管理员,用户管理一项是可用的,当单击该子菜单时,将会出现用户管理窗口,管理员可以对系统用户进行添加和删除操作。

3.3.3.1 窗体代码设计

1.定义一个整型变量DelNO用来存储当前系统用户的数目,当DelNO<=1时提示用户不能再删除用户。在该窗体的通用部分写如下代码:

    Dim DelNO As Integer

2.窗体加载时,初始化Listview用以显示系统用户列表,代码如下

Private Sub Form_Load()

'初始化ListView

Dim clmX As ColumnHeader

Set clmX = ListView.ColumnHeaders.Add(, , "用户名", ListView.Width / 3)

Set clmX = ListView.ColumnHeaders.Add(, , "密码", ListView.Width / 6, 2)

Set clmX = ListView.ColumnHeaders.Add(, , "姓名", ListView.Width / 4, 2)

Set clmX = ListView.ColumnHeaders.Add(, , "用户权限", ListView.Width / 4, 2)

Combo1.Clear

Combo1.AddItem "普通用户"

Combo1.AddItem "超级用户"

Combo1.ListIndex = 0

LoadOperator

End Sub

其中调用了LoadOperator函数,该函数用来显示和刷新Listview中的数据

Private Sub LoadOperator()

 On Error Resume Next

Dim Listit As ListItem

ListView.ListItems.Clear

ListView.LabelEdit = lvwAuto

ListView.View = 3

Dim ef As New ADODB.Recordset

sqlstr = "select * from UserInfo"

ef.Open sqlstr, con, 1, 1

DelNO = ef.RecordCount

    Do While Not ef.EOF

       Set Listit = ListView.ListItems.Add(, , ef.Fields("UserID"))

           Listit.SubItems(1) = "***" 

           隐藏用户的密码,用***来替代。

           Listit.SubItems(2) = ef("UserName")

           Listit.SubItems(3) = ef("UserPower")

        ef.MoveNext

    Loop

Set ef = Nothing

End Sub

3.添加用户

在Textbox中输入了相应的数据以后,按添加按钮则调用该按钮的Click事件,代码如下

当单击“添加”按钮时,首先检查输入的用户名和密码是否为空,代码如下:

Private Sub Command4_Click()

  If Trim(Text1.Text) = "" Then

      MsgBox "登陆用户名不允许为空!", vbOKOnly + 48, "提示:"

      Text1.SetFocus

      Exit Sub

End If

If InStr(1, Trim(Text1.Text), "'", vbTextCompare) Then

      MsgBox "用户姓名中有特殊字符" + "<'>,请删除。", vbOKOnly + 48, "提示:"

      Text1.SetFocus

      Exit Sub

End If

If Trim(Text2.Text) = "" Then

    MsgBox "密码不能为空,请输入密码!", vbOKOnly + 48, "提示:"

    Text2.Text = ""

    Text3.Text = ""

    Text2.SetFocus

    Exit Sub

End If

End Sub

如果不为空,则检查用户名是否有重复,需要打开系统信息表,

Private Sub Command4_Click()

……

    sqlstr = "select * from UserInfo where UserID='" & Text1.Text & "'"

rs.Open sqlstr, con, 1, 1

 End Sub

如果当前记录不为空,则逐条记录检查是否有重复

Private Sub Command4_Click()

……

Userid = Trim(Text1.Text)

Userpwd = MD5(Trim(Text2.Text))

Username = Trim(Text4.Text)

Userpower = Trim(Combo1.Text)

DelNO = rs.RecordCount

Do While Not rs.EOF

      ……

      rs.MoveNext

Loop

  ……

End Sub

如果有重复,则提示已存在这个用户,然后将焦点设置给Text1,并将所有的文本框清空。

Private Sub Command4_Click()

……

 Do While Not rs.EOF

      If Text1.Text = rs.Fields("UserID") Then

        MsgBox "已经存在用户名为 " & Userid & " 的用户帐号", vbInformation

        Text1.SetFocus

        Exit Sub

      End If

      rs.MoveNext

Loop

rs.Close: Set rs = Nothing

End Sub

如果没有重复,再检查两次输入的密码是否一致,如果不一致,则提示“两次密码不一致”。

Private Sub Command4_Click()

……

If Trim(Text3.Text) <> Trim(Text2.Text) Then

       MsgBox "两次密码不相同,请重输入!", vbOKOnly + 48, "提示:"

       Text2.Text = ""

       Text3.Text = ""

       Text2.SetFocus

       Exit Sub

End If

End Sub

如果以上全部正确无误的设置好了,则将新用户的信息添加到数据表中,并提示“添加新用户成功”。

Private Sub Command4_Click()

sqlstr = "insert into UserInfo(UserID,UserPWD,UserName,UserPower) "

sqlstr = sqlstr & "values('" & Userid & "','" & Userpwd & "', "

sqlstr = sqlstr & "'" & Username & "','" &Userpower & "')"

con.Execute sqlstr

    MsgBox "添加用户" & Text1.Text & "成功", vbOKOnly, "添加系统用户"

    Text1.Text = ""

    Text2.Text = ""

    Text3.Text = ""

    Text4.Text = ""

    '更新列表

    LoadOperator

End Sub

4.删除系统用户

当用户双击ListView中的数据时,则会调用DeleteRecord()函数,如果系统用户只剩一个,则提示用户不能再删除;反之要求输入您想要删除的用户的密码,密码正确时才可以将该用户删除,密码错误时则不采取任何措施;最后调用LoadOperator显示并刷新Listview中的数据。根据以上的设计,DeleteRecord()的代码如下:

Private Sub DeleteRecord()

'删除用户操作

On Error Resume Next

If ListView.SelectedItem.Selected Then

    If DelNO <= 1 Then

        MsgBox "只剩下一个用户帐号,不允许再删除!", vbInformation

    ElseIf MsgBox("确定要删除用户名为"& ListView.SelectedItem.Text & "的用户帐号吗?", vbYesNo + 32 + vbDefaultButton2) = vbYes Then

         sqlstr = "select * from UserInfo where UserID='" & ListView.SelectedItem.Text & "'"

         rs.Open sqlstr, con, 1, 1

           

         If MD5(InputBox("请输入该用户的密码:")) = rs.Fields("UserPWD") Then

           sqlstr = "delete from UserInfo where UserID='" & ListView.SelectedItem.Text & "'"

               con.Execute sqlstr

            Else

               MsgBox "对不起!您输入的密码不正确,删除该用户失败!", vbInformation

            End If

            LoadOperator

    End If

End If

rs.Close: Set rs = Nothing

End Sub

5.菜单设计

在Listview中单击鼠标右键会调用ListView的MouseUp事件,出现右键菜单menuOpertor,

具体实现如下:

Private Sub ListView_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)

If Button = 2 Then

      PopupMenu menuOperator

End If

End Sub

实现该右键菜单各项功能的代码如下:

Private Sub menuAdd_Click()

   '添加用户

   Text1.SetFocus

End Sub

Private Sub menuDel_Click()

   '删除用户

   DeleteRecord

End Sub

3.3.4 修改密码窗体(frmchgPWD)

当用户要更改密码时,单击“系统选项/修改个人密码”菜单,弹出如图3.4所示窗体。在MDI主窗体编辑窗口中,单击“系统选项/修改个人密码”,添加如下代码:

Private Sub filemenu12_Click()

   '修改密码界面

   Frmchgpwd.Show 1

End Sub

图3.4 修改用户密码

当用户输入完毕时,单击“确定”按钮,引发Click事件。这时,先检查两次输入的密码是否一致,如果不一致,则提示用户,将焦点设置到第二个Text2控件,后面两个文本框清空,代码如下:

Private Sub Command1_Click()

  Dim Oldpwd As String, pwd As String, confirmpwd As String

Oldpwd = Trim(Text1.Text)

pwd = Trim(Text2.Text)

confirmpwd = Trim(Text3.Text)

……

If Trim(pwd) <> Trim(confirmpwd) Then

     MsgBox "两次输入的密码不相同!", vbInformation

     Text2.Text = ""

     Text3.Text = ""

     Text2.SetFocus

     Exit Sub

End If

End Sub

如果密码一致,则判断输入的原密码是否正确,如果正确则将新密码写入数据库,这时需要一个字符串变量表达SQL语句,一个Recordset对象变量打开系统信息数据表。然后打开数据库,并将新密码写入,提示用户密码修改成功。

Private Sub Command1_Click()

……

sqlstr = "select UserPWD from UserInfo where UserID='" & LoginUser & "'"

rs.Open sqlstr, con, 1, 1

If Not rs.EOF Then

  If rs("UserPWD") <> Oldpwd Then

      MsgBox "你输入的原密码不对!", vbInformation

      Text1.Text = ""

      Text2.Text = ""

      Text3.Text = ""

      Text1.SetFocus

      Exit Sub

  Else

   sqlstr = "update UserInfo set UserPWD='" & pwd & "' where UserID='" & LoginUser & "'"

      con.Execute sqlstr

      MsgBox "您的密码更新成功,请牢记你的密码!", vbInformation

      Unload Me

   End If

Else

    MsgBox "异常错误!", vbInformation

End If

rs.Close: Set rs = Nothing

End Sub

修改完毕后,单击“取消”退出此窗体。

Private Sub Command2_Click()

     Unload Me

End Sub

3.3.5 浏览学生信息窗体(frmstu)

在工程中添加一个窗体,命名为frmstu.frm,这里将使用frmstu窗体,来实现浏览学生信息的功能,该界面运行时如图3.5所示

图3.5 浏览学生信息窗体

在该窗体中,用户可以查看/修改学生的信息,还可以添加/删除学生信息,所以用一个Treeview和一个Listview分别显示班级列表和该班级下面的学生列表,用Image和PictureBox来调整控件的大小。具体设置如表3.1所示

表3.1 FrmStu中部分控件的属性

当窗体启动时,需要在Treeview中加载班级列表,并初始化Listview中的标题。

Private Sub Form_Load()

  Call TreeviewLoad

  Dim clmX As ColumnHeader

  Set clmX = ListView.ColumnHeaders.Add(, , "学 号", ListView.Width / 7)

  ……

End Sub

在Form_Load事件中调用了TreeviewLoad函数,由于篇幅省略该函数的代码,具体实现见源程序。

当窗体大小发生变化时,调用Form_Resize,调整Frmstu中控件的大小。

Private Sub Form_Resize()

If WindowState <> 1 Then

    If Me.Height < 3000 Then Me.Height = 3000

    If Me.Width < 3000 Then Me.Width = 3000

    SizeControls imgSplit.Left

End If

ListView.Width = Me.Width

ListView.ListItems(0).Width = 5000

End Sub

Sub SizeControls(X As Single)

    On Error Resume Next

    '设置 Width 属性

    If X < 1500 Then X = 1500

    If X > (Me.Width - 1500) Then X = Me.Width - 1500

    TreeView.Width = X

    imgSplit.Left = X

    ListView.Left = X + 50

    ListView.Width = Me.Width - (TreeView.Width + 100)

   

    TreeView.Height = Me.ScaleHeight - 50

    ListView.Top = TreeView.Top

    ListView.Height = TreeView.Height

    imgSplit.Top = TreeView.Top

    imgSplit.Height = TreeView.Height

End Sub

单击Treeview中的班级号码则调用TreeView_NodeClick事件和ListviewLoad事件在Listview中显示该班级下面学生的信息列表。

Private Sub TreeView_NodeClick(ByVal Node As MSComctlLib.Node)

'正在导入数据,提示用户等待

  Me.MousePointer = 11

If Node.Tag = "classid" Then

    '开始在ListView中显示数据

    classid = Left(Node.Text, 6)

    Call ListviewLoad(classid)

ElseIf Node.Key = "S" Then

    Call SqlListview(SqlSearch)

Else

    ListView.ListItems.Clear

End If

End Sub

Public Sub ListviewLoad(ByVal classid As String)

Dim Listit As ListItem

ListView.ListItems.Clear

ListView.LabelEdit = lvwManual

ListView.View = 3

Dim ef As New ADODB.Recordset

classid = Left(classid, 6)

sqlstr = "select * from StuInfo where SID like '" & classid & "__' order by SID"

ef.Open sqlstr, con, 1, 1

    Do While Not ef.EOF

       Set Listit = ListView.ListItems.Add(, , ef.Fields("SID"))

           Listit.SubItems(1) = ef.Fields("SName")

           Listit.SubItems(2) = ef.Fields("SGender")

           Listit.SubItems(3) = ef.Fields("SMinzu")

           Listit.SubItems(4) = ef.Fields("SZhengzhi")

           Listit.SubItems(5) = ef.Fields("SDormitory")

           Listit.SubItems(6) = ef.Fields("SAddress")

       ef.MoveNext

    Loop

ef.Close: Set ef = Nothing

ListView.SetFocus

End Sub

在显示该班级下面所有学生信息的同时,用户可以对记录进行管理:添加新记录、编辑或者删除当前记录,为此在Listview中创建右键菜单,用来对记录进行操作。

在本系统中,在系统默认情况下,班级编号作为学号的前面六位。为了体现这一关系,需要将班级编号赋给显示学号的文本框。

“添加”子菜单的Click事件的设计思路:

用户单击“添加”子菜单时,调用frmmain中的“添加学生信息”子菜单显示FrmAddStu窗体,同时将Command1的Caption属性设置为“确定(&O)”。

Private Sub pop3_Click()

   '添加学生资料

   Call Frmstu.AddStu

End Sub

Public Sub AddStu()

Call FrmAddStu.LoadStu("00000000")

End Sub

修改学生资料的Click事件的设计思路和添加学生资料的设计思路类似,但是由于只是对记录进行修改,不需要调用AddNew操作,只要对数据进行Update操作即可。

Private Sub pop4_Click()

    '修改学生资料

    Call Frmstu.ModifyStu

End Sub

Public Sub ModifyStu()

'显示窗口

Dim EditNum As String

If ListView.SelectedItem.Selected Then

    EditNum = CStr(ListView.SelectedItem.Text)

    Call FrmAddStu.LoadStu(EditNum)

Else

    Exit Sub

End If

End Sub

删除学生资料的设计思路:

在删除记录之前弹出询问框,确认用户是否真的要删除当前记录,如果用户选择了“是”,则删除该条记录,否则就不执行任何操作。

在删除记录过程中,使用学生的学号作为关键字,调用Execute方法来删除当前记录。

在删除了当前记录以后,需要重新移动当前记录;由于改变了当前记录集的内容,所以需要调用ListviewLoad子过程来刷新Listview中的内容。

Private Sub pop5_Click()

    '删除学生资料

    Call Frmstu.DelStu

End Sub

Public Sub DelStu()

If ListView.SelectedItem.Selected Then

    If MsgBox("确定要删除学号为 " & ListView.SelectedItem.Text & "的全部资料吗!", vbYesNo + 32 + vbDefaultButton2) = vbYes Then

        sqlstr = "delete from StuInfo where SID='" & ListView.SelectedItem.Text & "'"

        con.Execute sqlstr

        Call ListviewLoad(classid)

    End If

End If

End Sub

学生信息包括了学号、姓名、出生日期、性别、家庭住址、联系电话等内容。在Listview中列出了各学籍信息的学号和姓名以供用户进行导航,但是在实际管理中,还需要显示出某一条学生信息的详细列表。为此,设计详细信息框,来罗列用户的各种详细信息。当用户单击“显示该生详细资料”子菜单时,显示frmstuinfo窗体(图3.6),并以学生学号为关键字,将该学生的全部资料赋值给frmstuinfo中的对应文本框。

图3.6 学生详细信息

Private Sub pop1_Click()

   '显示详细资料

   Call Frmstu.ListView_DblClick

End Sub

Public Sub ListView_DblClick()

On Error Resume Next

If ListView.SelectedItem.Selected Then

    SelectNum = ListView.SelectedItem.Text

    If SelectNum <> "" Then

       '显示出该生全部信息表单

        Call frmstuinfo.LoadStuInfo(SelectNum)

    Else

        Exit Sub

    End If

End If

End Sub

在frmstuinfo的代码窗口中添入以下代码用来显示该学生的详细资料。

Public Sub LoadStuInfo(StuNum As String)

sqlstr = "select * from StuInfo where SID='" & StuNum & "'"

rs.Open sqlstr, con, 1, 1

    StuInfo(0).Caption = rs.Fields("SID")

    StuInfo(1).Caption = rs.Fields("SName")

    StuInfo(2).Caption = rs.Fields("SGender")

    StuInfo(3).Caption = rs.Fields("SZhengzhi")

    StuInfo(4).Caption = rs.Fields("SPlace")

    StuInfo(5).Caption = rs.Fields("SMinzu")

    StuInfo(6).Caption = rs.Fields("SBirthday")

    StuInfo(7).Caption = rs.Fields("SDormitory")

    StuInfo(8).Caption = rs.Fields("SAddress")

    StuInfo(9).Caption = rs.Fields("SCode")

    StuInfo(10).Caption = rs.Fields("STel")

    StuInfo(11).Caption = rs.Fields("SRemark")

rs.Close: Set rs = Nothing

Me.Show 1

End Sub

3.3.6 添加/修改学生信息窗体(frmAddstu)

该窗体运行时界面如图3.7所示

图3.7 添加/修改学生信息界面

当窗体加载时,首先判断是修改学生资料还是添加新的学生资料,如果学号为“00000000”,则为添加新的学生资料,反之则为修改学生资料。如果为修改资料,则以学生的学号为关键字将该学生的信息加载到该窗体的对应文本框,同时将该学号框(EditStu(0))的Enable属性设置为False。如果为添加新的学生资料,则将学号的前6位置为该班级的ID,并将学号输入框的SelStart属性设为6。根据以上设计,在Form_Load中添加如下代码:

Private Sub Form_Load()

'确定添加或者修改,保存数据

Combo1.Clear

Combo1.AddItem "男"

Combo1.AddItem "女"

Combo1.ListIndex = 0

Combo2.Clear

Combo2.AddItem ""

Combo2.AddItem "团员"

Combo2.AddItem "党员"

Combo2.AddItem "预备党员"

Combo2.ListIndex = 1

Combo3.Clear

Combo3.AddItem "汉族"

Combo3.AddItem "瑶族"

Combo3.AddItem "土家族"

Combo3.AddItem "侗族"

Combo3.AddItem "白族"

Combo3.AddItem "苗族"

Combo3.AddItem "回族"

Combo3.AddItem "壮族"

Combo3.ListIndex = 0

If EditNum = "00000000" Then

    Me.Caption = "添加学生资料(班级:" & classid & ")"

    Command1.Caption = "添加(&A)"

    EditStu(0).Text = classid

    EditStu(0).SelStart = 6

Else

    Me.Caption = "修改学号为" & EditNum & "的学生资料"

    EditStu(0).Enabled = False

    Command1.Caption = "修改(&M)"

    Dim rs As New ADODB.Recordset, sqlstr As String

    

    sqlstr = "select * from StuInfo where SID='" & EditNum & "'"

    rs.Open sqlstr, con

    '把数据代入文本框中

   

    EditStu(0).Text = rs.Fields("SID")

    EditStu(1).Text = rs.Fields("SName")

    EditStu(2).Text = rs.Fields("SBirthday")

    EditStu(3).Text = rs.Fields("SPlace")

    EditStu(4).Text = rs.Fields("SAddress")

    EditStu(5).Text = rs.Fields("SCode")

    EditStu(6).Text = rs.Fields("STel")

    EditStu(7).Text = rs.Fields("SDormitory")

    EditStu(8).Text = rs.Fields("SRemark")

   

         

    If rs.Fields("SGender") = "男" Then

        Combo1.ListIndex = 0

    ElseIf rs.Fields("SGender") = "女" Then

        Combo1.ListIndex = 1

    End If

   

    If rs.Fields("SZhengzhi") = "" Then

        Combo2.ListIndex = 0

    ElseIf rs.Fields("SZhengzhi") = "团员" Then

        Combo2.ListIndex = 1

    ElseIf rs.Fields("SZhengzhi") = "党员" Then

        Combo2.ListIndex = 2

    ElseIf rs.Fields("SZhengzhi") = "预备党员" Then

        Combo2.ListIndex = 3

    End If

   

    Select Case rs.Fields("SMinzu")

    Case "汉族": Combo3.ListIndex = 0

    Case "瑶族": Combo3.ListIndex = 1

    Case "土家族": Combo3.ListIndex = 2

    Case "侗族": Combo3.ListIndex = 3

    Case "白族": Combo3.ListIndex = 4

    Case "苗族": Combo3.ListIndex = 5

    Case "回族": Combo3.ListIndex = 6

    Case "壮族": Combo3.ListIndex = 7

    End Select

   

    rs.Close: Set rs = Nothing

End If

End Sub

当用户按下Command1按钮时,触发该按钮的Click事件。首先判断用户输入的信息是否符合要求,

……

If Trim(EditStu(0).Text) = "" Or Val(Trim(EditStu(0).Text)) > 99999999

Or Val(Trim(EditStu(0).Text)) <= 0 Or Len(EditStu(0)) <> 8 Then

     MsgBox "学号输入有错误!请重新输入学号(xxxxxxxx)!", vbInformation

    EditStu(0).SetFocus

    Exit Sub

End If

If Trim(EditStu(1).Text) = "" Then

    MsgBox "必须输入学生的姓名!", vbInformation

    EditStu(1).Text = ""

    EditStu(1).SetFocus

    Exit Sub

End If

If IsDate(EditStu(2).Text) = False Then

   MsgBox "请按照(YYYY-MM-DD)的格式输入出生年月!", vbOKOnly + vbExclamation, "警告"

   EditStu(2).SelLength = Len(EditStu(2).Text)

   EditStu(2).SetFocus

   Exit Sub

End If

Dim i As Integer

For i = 0 To 8

    If InStr(1, EditStu(i).Text, "'", 1) Then

        MsgBox "添加的资料有非法字符(不允许输入'号)!", vbInformation

        Exit Sub

        EditStu(i).SetFocus

    End If

Next

检测数据完毕后,就开始对输入的数据进行操作,如果是添加新资料则判断是否存在该学生的资料,如果该学生信息已经存在则提醒用户该学生资料已经存在,反之则将该学生的资料添加到数据库中;如果是修改学生资料则在数据库中以学号为关键字搜索该学生的资料,然后将该学生的资料更新。

……

错误!未找到图形项目表。If EditStu(0).Enabled Then

    '添加资料

    sqlstr = "select * from StuInfo where SID='" & EditStu(0).Text & "'"

    rs.Open sqlstr, con, 1, 1

    If Not rs.EOF Then

     MsgBox "已经存在学号为" & EditStu(0).Text & "的学生资料,请重新输入!", vbInformation

        EditStu(0).SetFocus

        Exit Sub

    End If

    rs.Close: Set rs = Nothing

    sqlstr="insert into

StuInfo(SID,SName,SGender,SPlace,SBirthday,SMinzu,SZhengzhi,SDormitory,SAddress,SCode,STel,SRemark)"

    sqlstr = sqlstr & "values('" & EditStu(0).Text & "','" & EditStu(1).Text & "','" & Combo1.Text & "',"

    sqlstr = sqlstr & "'" & EditStu(3).Text & "','" & EditStu(2).Text & "','" & Combo3.Text & "','" & Combo2.Text & "','" & EditStu(7).Text & "',"

    sqlstr = sqlstr & "'" & EditStu(4).Text & "','" & EditStu(5).Text & "','" & EditStu(6).Text & "','" & EditStu(8).Text & "')"

Else

  ' '修改资料

   sqlstr = "update StuInfo set SName='" & EditStu(1).Text & "',SBirthday='" & EditStu(2).Text & "',SGender='" & Combo1.Text & "',"

   sqlstr = sqlstr & "SPlace='" & EditStu(3).Text & "',SMinzu='" & Combo3.Text & "',SZhengzhi='" & Combo2.Text & "',SAddress='" & EditStu(4).Text & "',"

   sqlstr = sqlstr & "SCode='" & EditStu(5).Text & "',STel='" & EditStu(6).Text & "',SDormitory='" & EditStu(7).Text & "',SRemark='" & EditStu(8).Text & "' "

   sqlstr = sqlstr & "where SID='" & EditStu(0).Text & "'"

End If

con.Execute sqlstr

……

如果是添加新资料,操作完毕后则提示用户是否继续添加新资料,如果用户选择否则退出该窗体,反之则初始化该窗体,将各文本框的内容清空。

……

    If MsgBox("添加学号为" & EditStu(0).Text & "的学生资料成功!是否继续?", vbYesNo) = vbYes Then

      For i = 0 To 8

          EditStu(i).Text = ""

      Next

      EditStu(0).SetFocus

    Else

      Call Frmstu.ListviewLoad(classid)

      Unload Me

    End If

……

如果是修改学生资料,则提示用户修改成功,然后退出该窗体,并更新frmstu窗体中Listview的数据。

……

         MsgBox "修改学号为" & EditStu(0).Text & "的学生资料成功!", vbInformation

           Call Frmstu.ListviewLoad(classid)

          Unload Me

……

3.3.7 学籍管理模块

该模块包括班级设置、学院/专业设置、课程设置和学生成绩管理四个功能。

在该模块中,我使用了Adodc控件和MSFlexGrid控件来实现其功能。

Adodc控件连接数据库的过程为先定义该对象的ConnectionString属性,在使用Adodc时再定义其RecordSource属性。

Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;

Data Source=" & App.Path + "\student.mdb"

Adodc.RecordSource="select * from Result where Name='"&Text1.Text&"'

Adodc的使用方法:

添加新记录:Adodc.Recordset.AddNew

修改记录:Adodc1.Recordset.Update

删除记录:Adodc1.Recordset.Delete

3.3.8 报表功能模块

报表设计在实践应用中很有实用性,同样,它也是一项细致的工作,没有太难的算法;当然要使其统计功能做得强大,还要有统计学的理论知识作指导。

此模块很简单,主要实现的是学生信息的预览、打印等功能。

默认的数据报表设计器包含如下内容:

1.报表标头  包含显示在一个报表开始处的文本,例如报表标题、作者或数据库名。如果想把报表标头作为报表的第一页,设置它的ForcePageBreak属性为rptPageBreakAfter。

2.页标头  包含在每一页顶部出现的信息,例如报表的标题。

3.分组标头/注脚  包含数据报表的一个“重复”部分。每一个分组标头与一个分组注脚相匹配。标头和注脚对与数据环境设计器中的一个单独的command对象相关联。

4.细节  包含报表的最内部的“重复”部分(记录)。详细部分与数据环境层次结构中最低层的Command对象相关联。

5.页注脚  包含在每一页底部出现的信息,例如页数。

6.报表注脚 包含报表结束处出现的文本,例如摘要信息或一个地址或联系人姓名。报表注脚出现在最后一个页标头和页注脚之间。

Microsoft数据报表设计器(Microsoft Data Report Designer)是一个多功能的报表生成器,以创建联合分层结构报表的能力为特色。同数据源(如数据环境设计器(Data Environment Designer)一起使用),可以从几个不同的相关表创建报表。除创建可打印报表之外,也可以将报表导出到HTML或文本文件中。

使用Data Report根据数据库中的记录来生成报表,需要完成以下步骤:

1.置一个数据源,例如Microsoft数据环境,以访问数据库。

2.设定DataReport对象的DataSource属性为数据源。

3.设定DataReport对象的DataMember属性为数据成员。

4.右键单击设计器,并单击“检索结构”。

5.向每个相应的节添加响应的控件。

6.为每一个控件设定DataMember和DataField属性。

7.运行时,使用Show方法显示数据报表。

至此,整个学籍管理系统开发完成,单击Visual Basic 6.0程序的“文件à“生成学籍管理系统.exe”,将该数据库程序编译生成可执行程序学籍管理系统.exe。对此执行文件进行测试,然后利用Visual Basic自带的打包向导工具Package & Deployment Wizard来发布该系统,之后即可利用生成的Setup.exe文件进行学籍管理系统程序的安装。
结束语

经过几个月的毕业设计,本人学会了很多知识,个人的能力有了很大的提高,对Visual Basic 6.0和SQL Server 2000的建设有了更深刻的认识,并用Visual Basic 6.0结合SQL Server 2000顺利的开发了这样的一个学籍管理系统,我的毕业设计取得了应有的效果。

在这里,我还要感谢我们的指导老师文孟飞老师,他们帮助我解决了设计中的疑难和困惑,为我完成设计提供了极大的帮助。在我遇到问题时他总是耐心的为我们作出解答,并帮我查找相关资料;在我遇到困难时帮助解决了不少的难点,使得系统能及时完成。

文孟飞老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢指导老师耐心的辅导。


参考文献

[1] 抖斗书屋编著, 《Visual Basic 6.0常用编程技巧》, 清华大学出版社, 1999年8月;

[2] (美)David Jung Pierre Boutquin John D.Conley 等编著, 《Visual Basic 6.0 开发人员参考手册》, 20##年1月;

[3] 袁鹏飞 孙军安编著,《中文版SQL Server 2000数据库系统管理》, 人民邮电出版社, 20##年5月;

[4] 李真文编著,《Visual Basic 6.0全实例教程》, 北京希望电子出版社, 20##年6月;

[5] 张海藩编著,《软件工程导论》, 清华大学出版社, 20##年1月; 

更多相关推荐:
学信网学籍在线验证报告注册步骤

第一步登录中国高等教育学生信息网学信网cn第二步点击学历查询下的本人查询点击处第三步登录或注册后登录学信网账号第四步登录学信网账号后点击在线验证然后点击学籍选择此项点击第五步点击申请学籍在线验证报告第六步发送短...

《教育部学籍在线验证报告》

附件3

教育部学籍在线验证报告

教育部学籍在线验证报告学籍学历在线验证报告简介为满足求职招聘派遣接收升学考研专升本出国留学干部任免职称评定信用评估等领域的需要学信网依托全国高等教育学生信息数据库对学生的学籍学历招生录取等相关信息提供在线验证报...

学籍学历在线验证报告

学籍学历在线验证报告简介教育部学历证书电子注册备案表中文版英文版教育部学籍在线验证报告中文版英文版为满足求职招聘派遣接收升学考研专升本出国留学干部任免职称评定信用评估等领域的需要学信网依托全国高等教育学生信息数...

学籍学历在线验证报告简介

学籍学历在线验证报告简介一教育部学历证书电子注册备案表中文版英文版教育部学历证书电子注册备案表是根据高等教育学历证书电子注册管理暂行规定教学20xx4号对学历证书电子注册审核备案的结果它是在学历网上查询系统的基...

关于《教育部学籍在线验证报告》的几点说明

关于教育部学籍在线验证报告的几点说明1什么是教育部学籍在线验证报告如何申请验证报告点击此网址cnxlcxbgysjsp显示如下教育部学籍在线验证报告教育部学籍在线验证报告是根据普通高等学校学生管理规定教育部令第...

教育部学籍在线验证报告

教育部学籍在线验证报告,内容附图。

小学学籍管理自查报告

九堰小学学籍管理自查报告学籍管理是一项繁杂系统的工作是学校管理的重要组成部分搞好学籍管理是建立教育稳定和贯彻党的教育方针的有力保证同时对提高教育教学质量也有着重大的意义为了进一步规范学籍管理现根据有关文件要求自...

学籍管理自评报告

学籍管理自评报告一学籍档案室建设学校为学籍管理员配备了专用电脑并由学籍管理员专人使用并通过加入中学学籍管理员QQ群加强与各校学籍管理员互相交流促进教育信息公开公正不断提高学校学籍管理水平学校平时注意各类学籍工作...

学籍管理系统可行性分析报告

学籍管理系统系统分析报告姓名xxx班级xxx学校xxx指导老师xxx第一章概述学生学籍管理是学校管理的重要组成部分对于学校和政府教育单位来说都至关重要所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询...

学籍管理系统需求分析报告

学籍管理系统需求分析说明书需求规格说明书1绪论211编写目的212项目背景213学籍管理系统的功能要求314定义缩写词和符号315参考资料32任务概述321目标3211开发目标3212应用目标422运行环境42...

高岭中心小学学籍自查报告

高岭乡中心小学学籍管理工作自查自纠报告学籍管理工作是一项繁杂系统的工作是学校管理工作的重要组成部分搞好学籍管理工作是建立稳定的教育秩序保证学校贯彻党的教育方针全面提高学生素质的有力保证为进一步规范我乡小学学籍管...

学籍在线报告(20篇)