毕业设计(论文)-学生信息管理系统.doc_第1页
毕业设计(论文)-学生信息管理系统.doc_第2页
毕业设计(论文)-学生信息管理系统.doc_第3页
毕业设计(论文)-学生信息管理系统.doc_第4页
毕业设计(论文)-学生信息管理系统.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

题 目 学生信息管理系统 姓 名 学 号 专 业 计算机应用 指导教师 学 校 大学 日 期 2005年2月 - 41 -山东华宇学院毕业设计(论文)题 目 学生信息管理系统 系 (院) 计算机系 专 业 软件开发 学生姓名 学 号 20072380112 指导教师 职 称 讲 师 2009 年 12 月摘 要学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT公司的Visual Studio2005开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象以及开发环境内部集成了许多控件和组件,大大减少了代码的编写,在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:控件、窗体、域、数据库。前 言随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有:有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。学生信息的修改。班级管理信息的输入,包括输入班级设置、年级信息等。班级管理信息的查询。班级管理信息的修改。学生课程的设置和修改。目 录第一章 C# 概述 1.1 C# 语言的特点 -1.2 C# 系统几个程序应用中的常用名词 -第二章 Windows 下的C# 编程环境简介2.1 面对对象的编程 -2.2 实现菜单选项 -2.3 实现工具栏 -第三章 怎样开发一个学生信息管理系统的查询模块3.1 学生信息系统的设计分析 -3.2 编程环境的选择 -3.3 关系型数据库的实现 -3.4 二者的结合(DBA) -第四章 使用SQL Server2005 创建数据库4.1 数据库的概念 -4.2 新建一个数据库 -4.3 修改已建的数据库 -第五章 可行性分析 第六章 系统总体规划6.1 系统功能 -6.2 系统流程图 -第七章 系统具体实现7.1 各功能的实现 -7.1.1 课程管理 -7.1.2 打印统计 -结束语后记主要参考文献第一章 Visual Studio2005 概述1.1 C# 语言的特点 C# 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。(1) 可视化设计:表现在VB在设计应用于程序界面时有“所见即所得”的处理功能。(2) 事件驱动编程:在设计应用程序时,把对象添加到窗体中,在用户与程序进行交互时,用户基本上是通过鼠标、键盘与应用程序进行交互的,那些对象就必须对鼠标和键盘操作所引发的事件做出响应,来执行一段应用程序。1.2C# 系统几个在程序应用中的常用名词 C# 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:(1) 视窗(Form)视窗是进行人机交互的界面或接口,也叫窗体。Visual Studio2005系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。(2) 对象 (Object)对象是Visual Stdio系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。(3) 属性 (Properties)属性是C#系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。(4) 事件 (Events)事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。C#系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DoubleClick(双击鼠标)(5) 方法 (Method)方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。(6) 过程 (Procedure)过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。(7) 模块 (Module)模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。 第二章 Windows下的C# 编程环境简介2.1 面对对象的编程面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。C#作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Studio2005 自动生成对象的程序代码并封装起来。C#应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。C#应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。2.2 实现菜单选项菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Studio2005也提供了强大的创建菜单功能是程序更加标准。本系统使用Visual Studio2005 的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用Visual Studio2005 的Application Wizard 来操作。2.3 实现工具栏ToolBar控件与Office2000 中看到的ToolBar是类似的。ToolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在ToolBar中迁入其他空间你也可以向用户提供更好的灵活性和义用性。选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。本系统就用工具中的StatusStrip控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。三层架构概三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增、删、改、查。概述三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。表示层 位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在Patterns of Enterprise Application Architecture一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。数据层 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。优缺点1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。缺点:1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。规则1. UILayer里面只有少量(或者没有)的SQL语句或者存储过程调用, 并且这些语句保证不会修改数据?2. 如果把UILayer拿掉, 你的项目还能在Interface/API的层次上提供所有功能吗?3. 你的DAL可以移植到其他类似环境的项目吗?4. 三个模块, 可以分别运行于不同的服务器吗?如果不是所有答案都为YES, 那么你的项目还不能算是严格意义上的三层程序. 三层程序有一些需要约定遵守的规则:1. 最关键的, UI层只能作为一个外壳, 不能包含任何BizLogic的处理过程2. 设计时应该从BLL出发, 而不是UI出发. BLL层在API上应该实现所有BizLogic, 以面向对象的方式3. 不管数据层是一个简单的SqlHelper也好, 还是带有Mapping过的Classes也好, 应该在一定的抽象程度上做到系统无关4. 不管使用COM+(Enterprise Service), 还是Remoting, 还是WebService之类的远程对象技术, 不管部署的时候是不是真的分别部署到不同的服务器上, 最起码在设计的时候要做这样的考虑, 更远的, 还得考虑多台服务器通过负载均衡作集群所以考虑一个项目是不是应该应用三层/多层设计时, 先得考虑下是不是真的需要? 实际上大部分程序就开个WebApplication就足够了, 完全没必要作的这么复杂. 而多层结构, 是用于解决真正复杂的项目需求的。与MVC的区别同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。在三层架构中没有定义Controler的概念。这是我认为最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是已实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。三层结构的程序不是说把项目分成DAL, BLL, WebUI三个模块就叫三层了, 下面几个问题在你的项目里面:优点:在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。第三章 怎样开发一个学生信息管理系统的查询模块?3.1查询模块的设计分析根据实际情况,我们使用原型法(Rapid Prototyping) 即以少量代价快速地构造一个可执行的软件模型。使用户可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。3.2编程环境的选择微软公司的Visual Studio2005是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。3.3关系型数据库的实现SQL Server2005就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。SQL Server2005的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,SQL Server2005允许创建自定义报表用于打印或输出数据库中的信息。SQL Server2005也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他用户共享数据库。SQL Server2005是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,SQL Server2005作为关系数据库开发具备了许多优点,可以在一个数据包同时拥有桌面数据库的便利和关系数据库的强大功能。3.4二者的结合(DBA)微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Studio2005来访问数据库并对其进行各种操作。Visual Studio2005、SQL Server2005以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。ADODC控件在数据库中的信息与将信息显示给用户看的Visual Basic 程序之间架起了一座桥梁。我们可以设置ADODC控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,ADODC控件根据数据库中的一个或多个数据库表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。将ADODC控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。第四章 使用SQL Server2005创建数据库4.1数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。4.2新建一个数据库创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1 标识需要的数据;2 收集被子标识的字段到表中;3 标识主关键字字段;4 规范数据;5 标识指定字段的信息;4.3修改已建的数据库 数据库的修改分为;添加、编辑和删除记录。这三种操作均可由Visual Studio2005创建的程序来完成,下面的章节将详细描述实现的具体方法。第五章 可行性分析学生信息,作为一个学校,就有一定的工作量存在,而学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。本系统中使用到的数据表主要有学生信息表、管理员表、学生交费表、学生考试违规记录表、成绩表、注销、班级表、课程表,由这八个表,(如图一)。其中学生档案是本系统主要的,如图(一)(一)所有信息都是根据这张学生档案进行有关的操作,主要的字段有:学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;成绩表中字段为:学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课程性质、科目分数、违纪类型、备注;课程表中字段为:专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质、考试性质;用户资料中的字段包括:用户名、密码、身份。第六章 系统(查询模块)总体规划6.1系统功能(查询模块)1 查询信息的情况;2 判断信息是否符合要求;3 将符合条件的信息进行打印;6.2流程图学生信息管理系统成绩信息管理课程信息管理学籍信息管理班级信息管理成绩信息修改成绩信息查询成绩信息添加课程信息添加课程信息修改年级课程设置班级信息添加班级信息修改学籍信息添加学籍信息修改学籍信息查询第七章 系统具体实现7.1系统类库的实现(各种方法)1:BaseOperate类class BaseOperate /连接数据库方法 public SqlConnection getcon() string M_str_sqlcon = initial catalog=学生信息管理系统;data Source=(local);integrated security=true; SqlConnection myCon = new SqlConnection(M_str_sqlcon); return myCon; /处理SQL语句的方法 public void getcom(string M_str_sqlstr) SqlConnection sqlcon = this.getcon(); sqlcon.Open(); SqlCommand sqlcom = new SqlCommand(M_str_sqlstr, sqlcon); sqlcom.ExecuteNonQuery(); sqlcom.Dispose(); sqlcon.Close(); sqlcon.Dispose(); /创建数据集的方法 public DataSet getds(string M_str_sqlstr, string M_str_table) SqlConnection sqlcon = this.getcon(); SqlDataAdapter slqda = new SqlDataAdapter(M_str_sqlstr, sqlcon); DataSet myds = new DataSet(); slqda.Fill(myds, M_str_table); return myds; /创建数据阅读器的方法 public SqlDataReader getread(string M_str_sqlstr) SqlConnection sqlcon = this.getcon(); SqlCommand sqlcom = new SqlCommand(M_str_sqlstr, sqlcon); sqlcon.Open(); SqlDataReader sqlreader = sqlcom.ExecuteReader(CommandBehavior.CloseConnection); return sqlreader; public void getSelect(string M_str_sqlstr) SqlConnection sqlcon = this.getcon(); sqlcon.Open(); SqlCommand sqlcom = new SqlCommand(M_str_sqlstr, sqlcon); sqlcom.ExecuteNonQuery(); sqlcom.Dispose(); sqlcon.Close(); sqlcon.Dispose(); /初始化treeView控件 public void getTree(TreeView treeV, MenuStrip menuS) for (int i = 0; i 0) for (int j = 0; j 0) for (int p = 0; p newmenu2.DropDownItems.Count; p+) newNode2.Nodes.Add(newmenu2 .DropDownItems p .Text ); treeV.ExpandAll(); 7.2登录窗体模块本模块主要实现不同角色的人登录到系统主窗体上实现不同的功能,图形如下:主要实现代码如下:public partial class login : Form public login() InitializeComponent(); private void btChannl_Click(object sender, EventArgs e) Application.Exit(); public static string userName; public static string PassWord; public static string Role; private void login_Load(object sender, EventArgs e) public void lianjie() private void btLogin_Click(object sender, EventArgs e) BaseOperate bopterate=new BaseOperate (); SqlDataReader dr = bopterate.getread(select 用户名,密码 from Users where 用户名=+tbName .Text .ToString ()+ and 密码=+tbPwd .Text .ToString ().Trim ()+); dr.Read(); if (dr.HasRows) userName = tbName.Text.ToString(); Role = cbroles.SelectedText.ToString(); PassWord = tbPwd.Text.ToString().Trim(); this.Hide(); frmWelcome welcome = new frmWelcome(); welcome.Show(); /index idx = new index(); /idx.Show(); else MessageBox.Show(用户名或密码输入错误!,提示,MessageBoxButtons .OK ,MessageBoxIcon .Information ); tbPwd.Text = ; tbName.Focus(); dr.Close(); 73锁屏模块本模块主要实现系统保密功能,当你有重要的事情需要离开但是不想别人使用你的系统,就可以把系统加密。截图如下:主要实现代码如下:public partial class frmLock : Form public frmLock() InitializeComponent(); private void frmLock_Load(object sender, EventArgs e) this.ControlBox = false; BaseOperate opt = new BaseOperate(); DataSet ds = new DataSet(); private void btnUnLock_Click(object sender, EventArgs e) string name = login.userName; string sqlSelect = select 密码 from Users where 用户名=+name +; ds = opt.getds(sqlSelect ,Users); if (tbLock.Text = ds.TablesUsers.Rows0密码.ToString() this.Close(); else MessageBox.Show(系统已锁,请输入正确密码解锁!,警告,MessageBoxButtons .OK ,MessageBoxIcon.Warning ); private void tbLock_TextChanged(object sender, EventArgs e) private void tbLock_KeyPress(object sender, KeyPressEventArgs e) private void tbLock_Enter(object sender, EventArgs e) btnUnLock_Click(sender, e); 74系统重新登录模块:本模块主要实现重新登录系统的功能,当你修改自己的登录密码或者更换登录角色时候需要重新登录系统,截图如登录窗体所示。75学籍管理模块1、档案增加:本模块主要实现新学生注册功能,添加新生的基本信息,截图如下:主要实现代码如下:public partial class 添加档案 : Form public 添加档案() InitializeComponent(); private void 添加档案_Load(object sender, EventArgs e) save.Enabled = false; btAdd.Enabled = true; BaseOperate boperate = new BaseOperate(); string sqlstr = select * from stuInfo; DataSet ds = boperate.getds(sqlstr,stuInfo); dataGridView1 .DataSource =ds .Tables stuInfo; SqlDataReader dr; string sqlXiBu = select distinct 系别 from 班级表; dr = boperate.getread(sqlXiBu); while (dr.Read() cbXiBu.Items.Add(dr.GetString(0); string sqlClass = select 班级 from 班级表; dr = boperate.getread(sqlClass); while (dr.Read() cbClass.Items.Add(dr.GetString(0); dr.Close(); private void quert_Click(object sender, EventArgs e) this.Close(); private void save_Click(object sender, EventArgs e) BaseOperate bopterate = new BaseOperate(); DataSet ds; if (btAdd.Enabled = false) if (no.Text = ) MessageBox.Show(学号不能为空!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); no.Focus();

温馨提示

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

评论

0/150

提交评论