软件设计报告封面-通达_第1页
软件设计报告封面-通达_第2页
软件设计报告封面-通达_第3页
软件设计报告封面-通达_第4页
软件设计报告封面-通达_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 号: 2011-2012学年第2学期第1718周软件设计报告题 目: 软件设计 班 级: 44 姓 名: 邢达 指导教师: 徐润森 成 绩: 通达学院 2012年06 月25 日 系统需求分析系统分析主要是对现行系统进行充分的调查研究, 细致了解现行系统的现状 和业务流程,及其存在的主要问题,在此基础上提出新系统的逻辑模型。系统分 析主要包括以下几个步骤: 1、系统调查 。2、可行性研究 。3、软件系统的总目标。1.1 系统调查在21世纪的科技时代,科技突飞猛进,在过去的九年间,各科学领域取得的成就足以证明科学的质的飞跃。计算机已经不仅是在科技上应用,而且在生活中也是同样得到广泛的应用。开发一个学生成绩管理系统,采用计算机对学生进行成绩管理,进一步提高的办学效益和现代化水平已经是迫在眉睫的事情。为广大师生和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。根据各个学校自身情况开发一个学生成绩管理系统,其目的是提高学校对学生的成绩科学化管理。本文根据学校的成绩管理现状和要求,从理论和应用的角度论述了学生成绩管理系统的特点、功能、设计思路,并给出关键技术实现的步骤。从而可以进一步满足大学对管理成绩系统的要求,规范教学管理行为,从而提高了管理效率和水平。学校管理是通过各级管理机构和人来MIS 系统也是靠机构和人实现的。 为了实现有效管理必须了解管理模式,使系统分析员进一步了解调查的对象,在此学校的组织层次,如下图所示:图1-1 组织机构图1.2 可行性分析系统可行性分析的任务是在初步调查的基础上确定项目开发是否必要和可 行。此活动的主要目标是进一步明确系统的目标、 规模与功能, 对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出拟开发系统的初步方案与计划。可行性研究是针对系统进行全面、概要的分析,主要包括三方面:技术可行性、经济可行性和营运可行性。可行性研究报告是系统研制人员在可行性研究工作阶段的成果。一经讨论、审定通过后,根据确定的系统方案对系统开发者下达系统设计任务书,对新系统开发工作的可行性做出结论或提出建议。 1.2.1 经济可行性 主要是对项目的经济效益进行评价,主要考虑的是费用的支出,其中包括设备购置费、软件开发费、管理维护费和培训费等。1.2.2 技术可行性 技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,软、硬 件配置能否满足开发者需要等。学校有专业的IT 人员,对公司信息系统和IT 设备有维护的能力。 本系统将采用 Windows 操作系统平台,Microsoft Access 数据库,采用 Delphi7.0作为开发工具。 1.2.3 操作可行性 主要是管理人员对开发信息系统是否支持,现有管理制度和方法是否科学, 规章制度是否齐全,原始数据是否正确等。学校领导非常重视信息系统的建设, 对于系统的开发给予了大量的支持,教职工人员对此也有共识,最终操作人员 对新系统也表示欢迎。系统建成后,虽然将改变原有的工作方式,但系统操作简 单、易于理解,操作人员经过短时间的培训就可以使用该系统。 综上所述,该学校学生成绩管理系统可以而且有必要开发。1.3 软件系统的总目标学校希望建立一套学生成绩管理系统通过使用本系统,能使学校加强对学生成绩的管理,对其学生的成绩情况(如学习、培训等)及其它情况(如奖惩、补考等),有一个较全面的了解。掌握本系统内学生成绩情况,以便最大限度的分析学生课程学习和成绩的情况。系统设计2.1系统开发环境需求本系统采用面向对象的软件开发方法,以Borland公司的可视开发环境Delphi7.0作为主要开发工具,使用Microsoft Access 2007作为关系数据库,并在Delphi编程语言中采用ADO 数据库编程模型,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。2.1.1 Delphi 7.0开发环境Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。Delphi发展至今,从Delphi1、Delphi2到现在的Delphi5,不断添加和改进各种特性,功能越来越强大。Delphi5添加了对IDE(集成开发环境)的很多改进新特性,扩展了数据库支持(ADO和InterBase数据库),带有Internet支持的MIDAS改进版,TeamSouse版本控制工具,转换功能,框架概念以及很多的新组件与新特性。2.1.2 Microsoft Access与 ADO作为应用程序与OLE DB连接的桥梁,ActiveX Data Objects (ADO)为Visual Basic 6.0 下开发的应用程序访问本地或远程数据库提供了有效的手段。Microsoft ActiveX Data Objects (ADO) 主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO 支持用于建立基于客户端/服务器和 Web 的应用程序的主要功能。在DELPHI中,可以使用开发环境提供的ADO控件,数据库访问方法,对Access 中建立的关系数据库简单快捷的进行访问。Access2007 是关系数据库开发工具,数据库能汇集各种信息一共查询、存储和检索。Access的优点在于它能使用数据表示图或定义窗体手机信息,数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供数据库存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络共享数据库。如上所述,Access作为关系数据库来发工具具备了许多优点,可以再一个数据包中用时拥有桌面数据库的便利和关系数据库的强大功能。2.2 角色功能系统管理员主要功能:实现学生的添加,学生的修改,学生的查询,学生成绩的录入,学生成绩的添加,学生成绩的修改,学生成绩的删除等基本功能。学生主要功能:实现学生自己的成绩查询,自己登录密码的修改,个人信息的查询的基本功能。2.3 模块功能分析用户登录界面模块:可以实现的功能包括输入用户名和密码,实现用户的登录,超级管理员登陆(包含登陆和退出),退出系统。退出系统模块:实现系统的正常退出。新用户注册模块:该模块可以分为新用户注册必填信息和选填信息两部分。其中必填信息包括用户名、密码、核对密码、性别、出生年月、联系地址、联系电话、邮政编码、电子邮箱、所在系别和所在班级;选填信息包括个人爱好和用户备注。模块里设计的功能按键有三个,实现对用户信息的提交、重置和取消。超级管理员登陆模块:输入管理员身份验证和通行密码,实现验证和放弃。学生基本信息模块:该模块需要设计得和新用户注册模块比较像,也是分为必填信息和选填信息两个部分,其中必填信息包括学号、姓名、民族、出生年月、籍贯、性别、所在系别、所在专业、所在班级、政治面目、家庭住址、邮政编码、联系电话;选填信息部分包括身份证号码、毕业学校、现在学历、个人特长、学制、外语、电子邮箱、个人备注。为了提交学生的基本信息,就需要要有提交信息的功能的按键,在这个模块中也有录入、重置和取消的功能按键。课程资源录入模块:课程资源录入模块包括了所在系别、所在专业、所在班级、课程名称、课程代号,这些都是课程资源录入所需要用到的标签。功能键包括录入、重置、取消。课程资源查询与修改模块:该模块设计包括三大部分,查询、修改和显示框。其中查询可以选择条件查询,里面可以选择的条件有所在系别、所在专业、所在班级、课程名称、课程代号,只要选择了其中的查询条件查询就可以在显示框里面显示出来;修改部分和查询部分的查询条件一样,这样就可以方便修改课程信息了,而且还可以进行上一条和下一条课程信息的修改,操作过的信息都可以在显示框里面显示出来。用户管理模块:这个模块是属于超级管理员操作的模块,只要超级管理员才能登陆进入,里面的功能比较全面,普通用户能操作的功能,在这个模块里面也能操作,而且比普通用户更高级的功能也要具备,比如对学生用户信息的修改、删除等等。学生成绩管理系统模块:该模块的功能包括有系部录入、专业录入、班级录入、课程资源数据录入、学生基本信息录入、成绩录入等功能。这一模块的功能相当的强大,这模块设计的几乎囊括了全部成绩管理系统的内容。 程序流程图层分析3.1 数据流程图根据以上的需求分析,并略掉一些细节(如不考虑用户的登录;对记录的维护),得出整个系统的基本数据流程图。图3-1 数据流图3.2 系统功能模块划分由以上数据流程图,可以得到系统得总体功能模块图:学生成绩管理系统(登陆)数据录入课程信息成绩信息学生基本信息系部录入专业录入班级录入课程查询课程修改成绩修改成绩录入学生查询学生基本信息录入学生基本信息修改学生基本信息查询成绩查询必填内容选填内容必填信息选填信息图3-2 系统功能模块图3.3 系统数据库设计3.3.1 系统的ER图在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体联系图(简称ER图)的方法进行数据结构的描述。ER图由实体、属性、联系三部分组成。 实体 联系 属性图3-3 系统ER图在该数据库中,我们设计了两个实体,分别是学生和成绩以及一个联系类型课程。在本系统中课程是核心,也是基本,没有了课程其它的也就没有什么意义了。学生记录的添加是考虑到重复问题,也就是说,在添加学生过程中,有可能出现学号重复,所以在设计数据库时,我特别考虑到这一点,加入了学生记录这一实体。学生信息添加主要是向数据库中添加新进的学生及对已有学生信息的修改。3.3.2 数据库表格设计在完成系统的ER图之后,需要将ER模型转化为关系模型,也就是说,要设计出数据库所需要的表格。在这里,我选用的是关系数据库。因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。如下图所示:图3-4 学生基本信息表数据类型图3-5 管理员表数据类型图3-6 课程资源表数据类型图3-7 成员信息表数据类型图3-8 数据处理录入表数据类型3.4 数据业务3.4.1 系统数据业务图3-10 成绩管理系统图图3-11 用户注册图超级用户管理操作查询用户名模糊查询选/必填信息图3-12 用户管理图= 系统实现4.1系统运行 首先运行程序出现下面的登陆界面图4-1 登陆 登录界面像一般的程序登录界面一样,可以实现输入用户登录、退出系统,在没有用户账号的前提下,可以在登录界面的新用户注册实现注册新账号。还可以登录最高级的管理员身份进行对相关信息的操作。4.2 日常操作模块4.2.1 新用户注册模块图4-2 新用户注册这个模块设计得简要明了,是为了新用户注册提供方便快捷的服务;这个模块分为了两部分,一部分是新用户注册所必要填写的信息和选填信息。4.2.2 学生成绩管理系统模块图4-3 学生成绩管理系统从运行后的截图可以看出来,这个模块的功能是比较强大的,里面包含了课程资源录入、学生基本信息录入等等功能。具体实现这些功能的代码见附录。4.2.3 用户管理模块图4-3 用户管理 这个模块包含了系统超级管理员所能实现的所有功能,实现用户的查找、修改、删除,用户基本信息的修改等。 由于篇幅因篇幅有限,在这就不一一把所有的功能模块图都截出来,更多请参见源程序。 设计总结5.1总结通过几月的系统分析、设计、开发,系统编码完成。在系统的开发过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。感觉到这几门理论课程的重要性。以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划,一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。这次的毕业设计开发,主要有以下几点收获:1对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。2通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础。致谢在本次毕业设计中,我从指导冯珊老师身上学到了很多东西。她认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢她细心而又耐心的辅导。参考文献1刑增平,Delphi 6.0 最佳专辑,人民邮电出版社 20022伍俊良,Delphi7.0/8.0课程设计与系统开发,清华大学出版社 20033张瀚文,Delphi数据库系统开发实例与解析,高等教育出版社 20034陈瑞,Delphi程序设计实用教程,电子工业出版社 20035肖庆航,Delphi 7数据库开发教程,清华大学出版社 20036陈明,软件工程学教程,科学出版社 20017郑人杰,殷人昆,软件工程概论,清华大学出版社 20018陈世鸿,彭蓉,面向对象软件工程,电子工业出版社 20029丁宝康,数据库原理,经济科学出版社 2000附录主要程序代码学生成绩管理系统模块代码procedure TForm10.AddClass(AId: integer;FatherNode:TTreeNode);var QryTmp:TADOQuery; myNode:TTreeNode; myLabel:TLabel;begin QryTmp:=TADOQuery.Create(self); QryTmp.ConnectionString:=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+extractfilepath(application.ExeName)+ztj007.mdb;Persist Security Info=False; QryTmp.SQL.Add(select * from 数据处理录入表); QryTmp.SQL.Add(where FatherId=+inttostr(AId); QryTmp.Open; while not QryTmp.Eof do begin myNode:=Treeview1.Items.AddChild(FatherNode,QryTmp.fieldbyname(CName).AsString); /创建标签,caption存放各分支的AutoId表识 myLabel:=TLabel.Create(self); myLabel.Visible:=false; myLabel.Caption:=QryTmp.fieldbyname(AutoId).AsString; myNode.Data:=myLabel; AddClass(QryTmp.fieldbyname(AutoId).AsInteger,myNode); /递归调用过程 QryTmp.Next; end; QryTmp.Free;end;procedure TForm10.Button1Click(Sender: TObject);var strName:string; myNode:TTreeNode;begin strName:=inputbox(新增系部,请输入系部名称: ,); strName:=trim(strName); if strName= then exit; myNode:=treeview1.Items.Add(treeview1.Selected,strName); if assigned(treeview1.Selected) then AddDataToDB(myNode,treeview1.Selected.Parent) else AddDataToDB(myNode,nil); myNode.selected:=true;end;procedure TForm10.AddDataToDB(CurrNode,FatherNode: TTreeNode);var myLabel:TLabel; QryTmp:TADOQuery; AId:integer; /为节点标位begin if not assigned(FatherNode) then AId:=0 else if not assigned(FatherNode.Data) then AId:=0 else AId:=strtoint(TLabel(FatherNode.Data).caption); QryTmp:=TADOQuery.Create(self); QryTmp.ConnectionString:=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+extractfilepath(application.ExeName)+ztj007.mdb;Persist Security Info=False; QryTmp.SQL.Add(select * from 数据处理录入表); QryTmp.SQL.Add(where FatherId=+inttostr(AId); QryTmp.Open; QryTmp.Append; QryTmpFatherId:=AId; QryTmpCName:=CurrNode.Text; /节点内容 QryTmp.Post; /创建记录currNode的AutoId表识标 myLabel:=TLabel.Create(self); myLabel.Visible:=False; MyLabel.Caption:=QryTmp.fieldbyname(AutoId).AsString; CurrNode.Data:=myLabel; QryTmp.Free;end; procedure TForm10.FormCreate(Sender: TObject);beginAddClass(0,nil);statusbar1.Panels0.Width:=178;statusbar1.Panels1.Width:=330;StatusBar1.Panels2.Text:=现在的日期是:+datetostr(date)+ 时间是: +timetostr(time);StatusBar1.Panels0.Text:=欢迎您回来!;end;procedure TForm10.N2Click(Sender: TObject);var strName:string; myNode:TTreeNode;begin strName:=inputbox(新增系部,请输入系部名称: ,); strName:=trim(strName); if strName= then exit; myNode:=treeview1.Items.Add(treeview1.Selected,strName); if assigned(treeview1.Selected) then AddDataToDB(myNode,treeview1.Selected.Parent) else AddDataToDB(myNode,nil); myNode.selected:=true; end;procedure TForm10.N3Click(Sender: TObject); var strName:string; myNode:TTreeNode;begin strName:=inputbox(新增专业,请输入专业名称: ,); strName:=trim(strName); if strName= then exit; myNode:=treeview1.Items.AddChild(treeview1.Selected,strName); AddDataToDB(myNode,treeview1.Selected); myNode.selected:=true;end;procedure TForm10.N4Click(Sender: TObject);var strName:string; myNode:TTreeNode;begin strName:=inputbox(新增班级,请输入班级名称: ,); strName:=trim(strName); if strName= then exit; myNode:=treeview1.Items.AddChild(treeview1.Selected,strName); AddDataToDB(myNode,treeview1.Selected); myNode.selected:=true;end;procedure TForm10.N18Click(Sender: TObject);var strName:string; myNode:TTreeNode;begin strName:=inputbox(新增系部,请输入系部名称: ,); strName:=trim(strName); if strName= then exit; myNode:=treeview1.Items.Add(treeview1.Selected,strName); if assigned(treeview1.Selected) then AddDataToDB(myNode,treeview1.Selected.Parent) else AddDataToDB(myNode,nil); myNode.selected:=true;end;procedure TForm10.N19Click(Sender: TObject); var strName:string; myNode:TTreeNode;begin strName:=inputbox(新增专业,请输入专业名称: ,); strName:=trim(strName); if strName= then exit; myNode:=treeview1.Items.AddChild(treeview1.Selected,strName); AddDataToDB(myNode,treeview1.Selected); myNode.selected:=true;end;procedure TForm10.N20Click(Sender: TObject);var strName:string; myNode:TTreeNode;begin strName:=inputbox(新增班级,请输入班级名称: ,); strName:=trim(strName); if strName= then exit; myNode:=treeview1.Items.AddChild(treeview1.Selected,strName); AddDataToDB(myNode,treeview1.Selected); myNode.selected:=true;end;procedure TForm10.N23Click(Sender: TObject);var QryTmp:TADOQuery;begin if not assigned(treeview1.Selected) then exit; if application.MessageBox(是否删除分类及下级分类?,提示,mb_yesno+mb_iconquestion)=idno then exit; /删除下级别分类 QryTmp:=TADOQuery.Create(self); QryTmp.ConnectionString:=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+extractfilepath(application.ExeName)+ztj007.mdb;Persist Security Info=False; QryTmp.SQL.Add(delete * from 数据处理录入表); QryTmp.SQL.Add(where FatherId=+TLabel(Treeview1.Selected.data).Caption); QryTmp.ExecSQL; QryTmp.SQL.Clear; QryTmp.SQL.Add(delete * from 数据处理录入表); QryTmp.SQL.Add(where AutoId=+TLabel(Treeview1.Selected.data).Caption); QryTmp.ExecSQL; Treeview1.Selected.Delete;end;procedure TForm10.N22Click(Sender: TObject);var QryTmp:TADOQuery; strName:string;begin if not assigned(treeview1.Selected) then exit; strName:=inputbox(修改,请输入新的名称: ,); strName:=trim(strName); if strName= then exit; /删除下级别分类 QryTmp:=TADOQuery.Create(self); QryTmp.ConnectionString:=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+extractfilepath(application.ExeName)+ztj007.mdb;Persist Security Info=False; QryTmp.SQL.Add(update 数据处理录入表 set CName=+strName+); QryTmp.SQL.Add(where AutoId=+TLabel(Treeview1.Selected.data).Caption); QryTmp.ExecSQL; Treeview1.Selected.Text:=strName;end;procedure TForm10.N8Click(Sender: TObject);begin application.CreateForm(Tform6,form6); form6.ShowModal; end;procedure TForm10.N10Click(Sender: TObject);begin application.CreateForm(Tform9,form9); form9.ShowModal;end;procedure TForm10.N12Click(Sender: TObject);beginpagecontrol1.ActivePage:=Tabsheet2;end;procedure TForm10.N13Click(Sender: TObject);beginpagecontrol1.ActivePage:=Tabsheet3;end;procedure TForm10.CheckBox1Click(Sender: TObject);beginif checkbox1.Checked thencombobox1.Enabled:=trueelsecombobox1.Enabled:=false;end;procedure TForm10.CheckBox3Click(Sender: TObject);beginif checkbox3.Checked thenedit2.Enabled:=trueelseedit2.Enabled:=false;end;procedure TForm10.CheckBox2Click(Sender: TObject);beginif checkbox2.Checked thenedit1.Enabled:=trueelseedit1.Enabled:=false;end;procedure TForm10.CheckBox4Click(Sender: TObject);beginif checkbox4.Checked thenedit3.Enabled:=trueelseedit3.Enabled:=false;end;procedure TForm10.CheckBox5Click(Sender: TObject);beginif checkbox5.Checked thenedit4.Enabled:=trueelseedit4.Enabled:=false;end;procedure TForm10.RadioButton1Click(Sender: TObject);begin if radiobutton1.Checked thenbeginedit5.Enabled:=true;bitbtn2.Enabled:=true;edit6.Enabled:=false;edit7.Enabled:=false;edit8.Enabled:=false;edit9.Enabled:=false;edit10.Enabled:=false;edit11.Enabled:=false;bitbtn3.Enabled:=false;combobox2.Enabled:=false;end;end;procedure TForm10.RadioButton2Click(Sender: TObject);beginif radiobutton2.Checked thenbeginedit5.Enabled:=false;bitbtn2.Enabled:=false;edit6.Enabled:=true;edit7.Enabled:=true;edit8.Enabled:=true;edit9.Enabled:=true;edit10.Enabled:=true;edit11.Enabled:=true;bitbtn3.Enabled:=true;combobox2.Enabled:=true;end;end;procedure TForm10.RadioButton3Click(Sender: TObject);beginif radiobutton3.Checked thenbeginedit12.Enabled:=true;bitbtn4.Enabled:=true;edit13.Enabled:=false;edit14.Enabled:=false;edit15.Enabled:=false;edit16.Enabled:=false;edit17.Enabled:=false;edit18.Enabled:=false;edit19.Enabled:=false;combobox3.Enabled:=false;bitbtn5.Enabled:=false;end;end;procedure TForm10.RadioButton4Click(Sender: TObject);beginif radiobutton4.Checked thenbeginedit12.Enabled:=false;bitbtn4.Enabled:=false;edit13.Enabled:=true;edit14.Enabled:=true;edit15.Enabled:=true;edit16.Enabled:=true;edit17.Enabled:=true;edit18.Enabled:=true;edit19.Enabled:=true;combobox3.Enabled:=true;bitbtn5.Enabled:=true;end;end;procedure TForm10.BitBtn2Click(Sender: TObject);beginDBgrid1.Visible:=true;DBgrid2.Visible:=false;DBgrid1.Font.Color:=clteal;if edit5.Text= then begin MessageBox(handle,请输入姓名,不能为空!,提示,MB_OK or MB_ICONINFORMATION); exit; endelse begin adoquery2.SQL.Clear; adoquery2.Close; adoquery2.sql.add(select *from 学生基本信息表 where 学号=+Edit5.Text+); MessageBox(handle,查询完毕!,提示,MB_OK or MB_ICONINFORMATION); adoquery2.Open; statusbar1.Panels1.Text:=总共找到 +inttostr(ADOQuery2.RecordCount)+ 条记录; edit5.Text:=; end;end;procedure TForm10.BitBtn3Click(Sender: TObject);varsql:string;beginDBgrid1.Visible:=true;DBgrid2.Visible:=false;DBgrid1.Font.Color:=clteal;if (edit6.Text)or (edit7.Text)or (edit8.Text)or (edit9.Text)or (edit10.Text)or (edit11.Text)or (combobox2.Text)then sql:=where (学号 like+%+edit6.Text+%) or (姓名 like+%+edit7.Text+%) or (所在系别 like+%+combobox2.Text+%) or (所在专业 like+%+edit8.Text+%) or (所在班级 like+%+edit9.Text+%) or (贯籍 like+%+edit10.Text+%)or (政治面目 like+%+edit11.Text+%) else begin application.messagebox(没有查询条件!,提示,mb_ok); exit; end; ADOQuery2.Close ; ADOQuery2.SQL.Clear ; ADOQuery2.SQL.Add(select * from 学生基本信息表); ADOQuery2.SQL.Add(sql); ADOQuery2.Open ; statusbar1.Panels1.Text:=总共找到 +inttostr(ADOQuery2.RecordCount)+ 条记录; edit6.Text:=; edit7.Text:=; edit8.Text:=; edit9.Text:=; edit10.Text:=; edit11.Text:=;end;procedure TForm10.BitBtn4Click(Sender: TObject);beginDBgrid2.Visible:=true;DBgrid1.Visible:=false;if edit12.Text= then begin MessageBox(handle,请输入姓名,不能为空!,提示,MB_OK or MB_ICONINFORMATION); exit; endelse begin adoquery1.SQL.Clear; adoquery1.Close; adoquery1.sql.add(select *from 成绩信息表 where 学号=+Edit12.Text+); MessageBox(handle,查询完毕!,提示,MB_OK or MB_ICONINFO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论