《C#语言程序设计基础教程》课件单元7_第1页
《C#语言程序设计基础教程》课件单元7_第2页
《C#语言程序设计基础教程》课件单元7_第3页
《C#语言程序设计基础教程》课件单元7_第4页
《C#语言程序设计基础教程》课件单元7_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

单元七使用ADO.NET实现数据库访问C#语言程序设计基础教程任务7.1ADO.NET核心对象简介任务描述本节首先回顾有关数据库的一些基本概念和常用的SQL语句,并且介绍本书开发的“高校学生管理系统”(MySchool)系统需要的数据库表结构;然后了解ADO.NET的相关术语和常用对象。预备知识要实现对ADO.NET的灵活操作,首先必须熟练掌握数据库的相关概念、SQL语言以及存储过程等数据库基础知识。数据库是长期存储在计算机内的、有组织的、可共享的数据集合。数据库不仅具有固定的格式与特征,而且可以以表格的形式来存储记录,具有自动化管理、快速查询及统计等优点。任务7.1ADO.NET核心对象简介预备知识7.1.1关系型数据库简介数据库系统主要经历了三个阶段:网状数据库、层次数据库和关系数据库,关系数据模型是当前的主导数据模型,如Access、SQLServer、Oracle、DB2等。1.关系数据库定义关系数据库是一些相关的表和其他数据库对象的集合,其含义可以解释为以下三方面:(1)在关系数据库中,信息被存放在二维表(table)中,一个关系数据库中可以包含多个数据表,每个表又包含行(记录)和列(字段)。(2)数据表之间是相互关联的,通过主键和外键实现。(3)数据库中除了包含数据表之外,还包含有其他数据库对象,如视图、存储过程等。任务7.1ADO.NET核心对象简介预备知识7.1.1关系型数据库简介2.主键和外键主键(PrimaryKey,PK)是指数据表中的某一列,该列的值能唯一地标识一条记录(一行)。如学生信息表中的“学号”可以唯一地标识一个学生,而姓名则不行,因为可能存在多个学生叫同一个名字的情况。主键的主要功能是实现数据的实体完整性,即主键的取值必须唯一,且不能为空。外键(ForeignKey,FK)是指表B中含有与另一个表A的主键相对应的列组,那么在表B中该列组成为外键。外键的功能主要是实现参照完整性。使用外键时要保证外键和主键具有相同的数据类型和长度,名字相同。创建外键的优点有:(1)实现表之间的关联(2)根据主键列的值来检查外键列的值的合法性。任务7.1ADO.NET核心对象简介预备知识7.1.2常用SQL语句SQL(StructuredQueryLanguage)即“结构化查询语言”是通用的关系数据库语言,使用其可以方便的实现对数据库中数据的查找、新增、更新和删除。SQL语言对数据的操纵分为数据库查询操作、数据插入操作、数据更新操作和数据删除操作四种。任务7.1ADO.NET核心对象简介预备知识7.1.2常用SQL语句1.数据查询操作数据查询主要用于从表中查询满足条件的记录,语法格式为:SELECT[ALL|DISTINCT]字段1,字段2,…FROM表或视图[WHERE<筛选条件>][GROUPBY<字段名>[HAVING<条件表达式>]][ORDERBY<字段名>[ASC|DESC]]任务7.1ADO.NET核心对象简介预备知识7.1.2常用SQL语句说明:(1)SELECT语句和FROM语句是必须的,方括号中的语句是可选的;(2)SELECT关键字后面的字段名指明要在查询后显示的列,各字段之间用逗号隔开。若要查询表中的所有字段使用“SELECT*”;(3)[ALL|DISTINCT]中DISTINCT表示不会显示查询结果中的重复行,ALL则显示重复行;(4)GROUPBY短语用来将结果按指定的字段分组,如果带HAVING表达式,则只有满足表达式条件的才能输出;(5)ORDERBY短语用来按指定字段排序,ASC为升序,DESC为降序。任务7.1ADO.NET核心对象简介预备知识7.1.2常用SQL语句2.数据插入操作数据插入操作主要用于向表中添加数据。语法格式为:INSERTINTO<表名>[(<字段1>[,<字段2>,…])]VALUES(<表达式1>[,<表达式2>,…])说明:(1)当向一条记录的所有字段添加数据时,表名后的字段可以省略,但是插入数据的具体值的数据类型、长度和先后顺序必须和表结构里面的一致;若只是插入某些字段,则必须列出插入字段对应的字段名;(2)VALUE语句后的各个表达式的值即为插入的具体值。各表达式值的类型、长度和先后顺序必须与指定的字段保持一致。任务7.1ADO.NET核心对象简介预备知识7.1.2常用SQL语句3.数据更新操作数据更新操作用于修改数据表中的一条或多条记录。语法格式如下:UPDATE<表名>SET<字段名1>=<表达式1>[,<字段名1>=<表达式1>…][WHERE<条件表达式>]说明:(1)通过SET语句可以用表达式值取代指定字段原有的值。(2)WHERE语句用于限定符合更新条件的记录,此语句可以没有,没有的时候表示更新表中所有记录的指定字段的值。任务7.1ADO.NET核心对象简介预备知识7.1.2常用SQL语句4.数据删除操作用于删除数据表中符合条件的一条或多条记录。语法格式为:DELETEFROM<表名>[WHERE<条件表达式>]举例说明:实现增、删、改、查的SQL语句用法。任务7.1ADO.NET核心对象简介任务实施1.ADO.NET概述ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口。ADO.NET允许和不同类型的数据源和数据库进行交互,数据源既可以是数据库,也可以是文本文件、Excel表格或者XML文件。ADO.NET类最重要的优点是支持与数据库以断开连接的方式工作,即ADO.NET可以操作非连接的数据,这就意味着应用程序和数据源的连接会变少,服务器端的负载也会得以减轻。ADO.NET类库在System.Data命名空间内,根据访问数据库的不同System.Data命名空间被划分为4个数据库客户命名空间,本书主要使用MicrosoftSqlServer2008数据库进行应用程序开发,因而在以后的章节中我们都使用System.Data.SqlClient命名空间。任务7.1ADO.NET核心对象简介实现从“登录窗体”到“添加学员窗体”的跳转。当“系统登录”窗体和“添加学员用户”窗体创建完成后,希望在登录窗体中输入用户名和密码,选择“用户类型”,点击“登录”按钮后,跳转到“添加学员用户”窗体。这时,就需要在“登录”按钮的Click事件处理程序中。举例说明:窗体跳转方法。注意:此处使用了this.Hide()方法实现“用户登录窗体”的隐藏,也可以使用this.Visible=false;但是不能使用Close(),若使用了Close()方法则会导致程序的中止执行。知识拓展任务7.1ADO.NET核心对象简介2.ADO.NET核心组件ADO.NET的主要通过两个核心组件来完成对数据库的操作,分别是DataSet和.NET数据提供程序。前者是ADO.NET的断开式结构的核心组件。后者是专门为直接访问数据库,对其进行快速的只进、只读访问数据等数据处理而设计的组件,包含Connection、Command、DataReader和DataAdapter对象。图7-1是利用ADO.NET操作数据库的简单示意图。任务实施任务7.1ADO.NET核心对象简介图7-1利用ADO.NET操作数据库的简单示意图3.ADO.NET常用对象ADO.NET对象模型中常用的对象有Connection对象、Command对象、DataReader对象、DataAdapter对象、DataSet对象。其功能如表7-9所示。任务实施任务7.1ADO.NET核心对象简介表7-9ADO.NET中常用对象针对前面已经介绍的“高校学生管理系统”,下面将对实现应用程序所需要的数据库MySchool中主要的数据表的表结构介绍如下:(1)学生信息表(Student),主要用于存储有关学生的各项信息,表结构如教材表7-10所示。(2)管理员信息表(Admin),用于存储有关管理员的信息,表结构如教材表7-11所示。(3)教师信息表(Teacher),用于存储教师的基本信息,表结构如教材表7-12所示。知识拓展任务7.1ADO.NET核心对象简介在本节中,首先回顾了关系数据库及数据库常用的SQL语句,然后向大家讲解了ADO.NET核心组件与常用对象,最后对本书开发的“高校学生管理系统”所需要的数据库中的表结构进行了说明。归纳总结任务7.1ADO.NET核心对象简介任务7.2“高校学生管理系统”数据库连接实现任务描述在我们操作数据库之前,首先要做的就是与数据库创建连接。连接数据库需要使用Connection对象,本节主要学习该对象的常用属性和方法,理解使用该对象进行数据库连接的方法。要求实现与任务7.1创建的“学生管理系统”的数据库的连接。预备知识不同的数据库提供程序有不同的数据库连接类,具体如表7-13所示。具体使用哪个连接类要看我们使用的是什么类型的数据库,本教程示例及应用程序都使用SQLServer2008数据库提供程序,因而使用SqlConnection类。任务7.2“高校学生管理系统”数据库连接实现表7-13.NETFrmework数据提供程序及相应的连接类预备知识7.2.1SqlConnection对象常用属性SqlConnection对象常用属性如表7-14所示。任务7.2“高校学生管理系统”数据库连接实现表7-14SqlConnection对象常用属性预备知识7.2.1SqlConnection对象常用属性ConnectionString属性所要求的字符串必须是一个规范化的、符合语法要求的字符串。其内容是由多个被分号分开的“参数名=参数值”组成。常用的参数名及含义如表7-15所示。任务7.2“高校学生管理系统”数据库连接实现表7-15ConnectionString属性字符串常用参数表预备知识7.2.2SqlConnection常用方法SqlConnection对象常用方法如表7-16所示。在ADO.NET中,创建与数据库的连接并且操作完数据库后,必须显式关闭与数据库的连接,也就是说必须调用Connection对象的Close方法关闭连接。任务7.2“高校学生管理系统”数据库连接实现表7-16SqlConnection对象常用方法预备知识7.2.3DBHelper类为了实现与“高校学生管理系统”数据库的连接,我们在项目中添加DBHelper类,在该类中创建了数据库的SqlConnection对象connection,并且声明为静态(static)的,因而在今后调用该对象时,使用“类名.对象名”(即DBHelper.connection)即可。举例说明:DBHelper类的实现。任务7.2“高校学生管理系统”数据库连接实现任务实施编程实现任务7-2任务7.2“高校学生管理系统”数据库连接实现知识拓展创建数据库连接一般需要经历以下几个步骤:1.引入命名空间2.定义连接字符串3.创建Connection对象4.打开数据库连接5.对数据库进行操作6.关闭数据库连接任务7.2“高校学生管理系统”数据库连接实现归纳总结本节中,主要介绍ADO.NET常用对象中的Connection对象的常用属性和方法,该对象是学习数据库编程的第一步,通过示例练习,应能够灵活掌握各种数据库连接方式。任务7.2“高校学生管理系统”数据库连接实现任务7.3“高校学生管理系统”数据库打开时的异常处理任务描述在我们开发程序的过程中总是会不可避免地遇到这样或那样的错误,优秀的程序员并不是不出现错误,而是能够找出错误并更正它们,或者预知可能出现的错误或异常并运用相应的技术进行处理。对于开发人员来说了解常见的错误类型,理解并能运用C#语言的错误处理机制,是必备的程序设计技能。本节主要介绍程序中常见的错误类型和错误处理机制,然后介绍解决本书开发的“高校学生管理系统”在打开数据库时的异常处理方法。预备知识7.3.1程序错误类型C#应用程序开发过程中,根据错误产生的原因,通常将代码中的错误(Bugs)分为3类:语法错误、运行时错误、逻辑错误。1.语法错误语法错误是指在程序代码中输入了不符合C#语法规则的语句而产生的错误。如数据类型不匹配、变量未定义、函数未定义、输入了非法的标点符号等等。对于这类错误VS开发工具提供了自动检查功能。对于出现错误的地方,VS会在相应的语句下面出现蓝色的波浪线。把鼠标放在有波浪线的地方,系统会自动显示一个提示框,提示错误出现的原因。另外,对于有语法错误的程序,如果直接调试的话,系统会在“错误列表”窗口给出错误信息,并告知错误的代码行及错误原因。任务7.3“高校学生管理系统”数据库打开时的异常处理预备知识7.3.1程序错误类型2.运行时错误运行时错误是指在没有语法错误的前提下,程序在运行期间产生的错误。如数组下标越界、除数为0、打开一个不存在的文件、数据库未打开等等。3.逻辑错误逻辑错误是指程序能够正常运行,但是不能达到预期的效果。比如计算结果不正确、数据不能正常写入数据库等功能上的错误。这类错误产生的原因主要是由于算法设计不正确。程序员只能凭借经验,通过测试应用程序和运行结果来找到错误。举例说明:三种错误类型。任务7.3“高校学生管理系统”数据库打开时的异常处理预备知识7.3.2异常处理在程序运行期间出现的错误,会中断或干扰程序的正常流程。而这部分错误有时候是可以预测的,C#语言也提供了处理这种错误的机制,称为异常处理。当程序运行期时发生错误时,异常处理机制就能捕获错误并创建异常对象,执行异常处理代码,使得应用程序能够继续正常运行。.NET提供了大量预定义的异常对象,为了在应用程序的代码中使用它们捕获和处理错误,C#提供了try…catch…finally语句,程序员只用将程序代码的相关部分分成3种不同的类型,分别放置于try语句块、catch语句块和finally语句块就可以了。任务7.3“高校学生管理系统”数据库打开时的异常处理预备知识7.3.2异常处理格式:try{//可能出现异常的代码}catch(异常类){//处理异常的代码}finally{//清理资源工作,此部分可不写}任务7.3“高校学生管理系统”数据库打开时的异常处理说明:(1)把实现程序正常功能并且可能出现异常的代码放在try语句块中。(2)如果在运行期间出现了异常,程序就会跳转到catch语句块。(3)如果不出现异常,try语句块中的代码就会正常执行,catch语句块就不会被执行。(4)一个程序中的catch语句块可以有多个。(5)无论是否发生异常,如果程序包含有finally语句块,则其一定会被执行。任务实施编程实现任务7-3任务7.3“高校学生管理系统”数据库打开时的异常处理知识拓展1.有关异常类(1)Exception是所有异常类的基类。(2)与参数有关的异常类(3)与成员访问有关的异常(4)与数组有关的异常(5)与算术有关的异常任务7.3“高校学生管理系统”数据库打开时的异常处理知识拓展2.异常处理的原则(1)不要对常见的错误使用异常处理,尽量使用判断结构来处理这些错误,如if语句等;(2)不要为流程的正常控制使用异常;(3)当引发异常时,应该提供有意义的异常信息;(4)当有多个catch语句块时,处理顺序应当从特殊异常到一般异常。任务7.3“高校学生管理系统”数据库打开时的异常处理归纳总结在本节中,主要介绍了C#程序开发中经常遇到的程序错误和异常处理方法,这些都是作为一个程序员必备的技能,因而在开发中要有意识地预测可能发生的运行时错误,并能够使用相应的异常处理机制,对特定的代码段进行异常处理,保障程序的正常执行。在后续介绍实现“高校学生管理系统”的各部分功能时,都会使用到异常处理机制,以保证应用程序的健壮性。任务7.3“高校学生管理系统”数据库打开时的异常处理任务7.4Command对象简介任务描述前面我们已经介绍了如何与数据库建立连接,在建立连接之后就要去操作数据库,如查询数据、新增数据、更新数据或删除数据等,所有这些操作的完成都需要有Command对象的支持。本节将介绍该对象的使用。预备知识与Connection对象一样,Command对象属于.NETFramwork数据提供程序,不同的数据提供程序都有自己的Command对象,不同的数据库提供程序有不同的数据库连接类,如表7-17所示。具体使用哪个连接类要看我们使用的是什么类型的数据库,本教材示例及应用程序都使用SQLServer2008数据库提供程序,因而使用SqlCommand类。任务7.4Command对象简介表7-17.NETFrmework数据提供程序及相应的Command类预备知识7.4.1Command对象常用属性Command对象常用属性如表7-18所示。任务7.4Command对象简介表7-18Command对象常用属性预备知识7.4.2Command对象常用方法Command对象常用方法如表7-19所示。任务7.4Command对象简介表7-19Command对象常用方法任务实施编程实现任务7-4任务7.4Command对象简介知识拓展1.使用Command对象的步骤(1)创建数据库连接(2)定义执行的SQL语句(3)创建Command对象(4)执行SQL语句或存储过程2.使用Command对象执行带参数的SQL语句3.使用Command对象执行存储过程举例说明:执行带参SQL语句和存储过程的方法。任务7.4Command对象简介归纳总结Command对象是开发数据库应用程序时非常重要的一个对象,通过本节课程的介绍,要理解并掌握其不同的创建方法,熟练掌握常用的三个方法方法ExecuteNonQuery()、ExecuteScalar()和ExecuteReader()的不同功能,能够使用这几个方法实现数据库的增、删、改、查操作。任务7.4Command对象简介任务7.5实现“高校学生管理系统”的登录功能任务描述为了进入学生管理系统,用户需要进行登录验证,输入有效的用户名和密码。前面我们已经设计了系统的登录界面,当用户名或密码有误时,会给出对应提示,如图7-8所示。本节就首先使用我们学习的Connection对象连接数据库,然后使用的Command对象的ExecuteScalar()方法来完成登录功能。登录时要判断输入的用户名、密码及用户类型是否在对应的数据表中有记录,这可以使用Command对象的ExecuteScalar()方法执行Select语句返回查询结果,然后判断是否有与条件匹配的记录存在。图7-8用户登录失败效果任务7.5实现“高校学生管理系统”的登录功能预备知识在用户打开“学生管理系统”的登录界面,进行登录的时候要进行必要的验证,比如用户名密码是否输入,是否选择了用户类型,若有输入是否输入正确匹配等。下面我们对登录功能及功能实现进行分析7.5.1用户登录功能需求分析(1)当没有输入户名、密码或没有选择用户类型而直接点击“登录”按钮时,会给出对应的提示,提示效果在前面的章节中我们已经学习过,此处不再说明。(2)当输入用户名或密码与数据库中的数据不匹配时,提示效果如图7-8。任务7.5实现“高校学生管理系统”的登录功能预备知识7.5.2用户登录功能实现方法(1)实现功能的代码在“登录”按钮的Click事件里;(2)首先验证是否输入了用户名、密码,是否选择了用户类型,如果有缺项使用对话框给出对应提示,并将光标定位;(3)如果输入了用户名、密码,并且选择了用户类型,则根据用户类型,验证用户名和密码是否正确。此功能的实现需要进入数据库中相应的表中查询是否有与用户输入的用户名、密码和类型相匹配的记录,当用户类型是“管理员”时,则进入管理员信息表(Admin)查找是否有匹配记录,当用户类型时“学员”时,则进入学生信息表(Student)查找是否有匹配记录。(4)根据(3)中查找的结果,如果有匹配记录就打开对应的窗口。否则就提示有户名或密码有误。任务实施编程实现任务7-5任务7.5实现“高校学生管理系统”的登录功能任务7.5实现“高校学生管理系统”的登录功能知识拓展1.ExecuteScalar返回值问题(1)当该方法与聚合函数(count,max,min,average)一起使用时,可以将执行结果显式转换为一个int类型,如本例就是使用了count函数。(2)当该方法不与聚合函数一起使用时,当执行查询结果的第一行第一列无值时,返回一个NULL,有具体值时,根据其值进行类型转换,返回结果。2.常见错误(1)在执行SQL语句或存储过程之前数据库连接未打开;(2)使用Command对象的ExecuteScalar()方法执行SQL语句或存储过程后没有进行显式类型转换。任务7.5实现“高校学生管理系统”的登录功能归纳总结Command对象的ExecuteScalar()方法是开发数据库应用程序中常用的一个方法,利用它可以检验对数据库的查询操作是否有有效的结果,要理解其返回值问题,能够对返回值进行正确的类型转换及判断。任务7.6实现“高校学生管理系统”查询全部学生信息功能任务描述大多应用程序都提供的有查询功能,用户可以根据一定的条件进行查询,系统将查询结果显示给用户,这一功能的实现就需要使用Command对象的ExecuteReader()方法,该方法返回一个DataReader对象,通过DataReader对象从数据库中读取数据。本任务主要介绍ExecuteReader()方法及DataReader对象的常用属性和方法,实现查询学生信息功能。任务7.6实现“高校学生管理系统”查询全部学生信息功能预备知识7.6.1SqlDataReader对象简介与Connection对象、Command对象一样,DataReader对象属于.NETFramwork数据提供程序,不同的数据提供程序都有自己的DataReader对象,不同的数据库提供程序有不同的数据库连接类,如表7-20所示。表7-20.NETFrmework数据提供程序及相应的DataReader类任务7.6实现“高校学生管理系统”查询全部学生信息功能预备知识7.6.1SqlDataReader对象简介SqlDataReader提供一种从数据库读取只读数据流的方式。不能对读取的数据进行修改,所以其是只读的单向的数据流,而且在读取数据的时候,要始终保持与数据库的连接。但是其占用资源非常少,每次只有一条记录存在其中。SqlDataReader对象的主要属性和方法如表7-21所示。表7-21SqlDataReader对象的主要属性和方法任务实施编程实现任务7-6任务7.6实现“高校学生管理系统”查询全部学生信息功能任务7.6实现“高校学生管理系统”查询全部学生信息功能知识拓展下面我们对DataReader使用的步骤做如下总结。(1)创建Command对象(2)调用ExecuteReader()创建DataReader对象(3)使用DataReader的Read()方法逐行读取数据(4)读取当前行的某列的数据(5)关闭DataReader对象调用它的Close()方法任务7.6实现“高校学生管理系统”查询全部学生信息功能归纳总结在本节中,主要介绍了使用Command对象的ExecuteReader()方法生成DataReader对象的方法,掌握DataReader对象的使用步骤和及注意事项,是作为一个程序开发人员必备的技能之一。任务7.7实现“高校学生管理系统”模糊查询功能任务描述在学生管理系统主界面中点击工具栏上的“查询及修改学员”工具按钮就会弹出如图7-10所示的“查找学员用户”窗口。用户在用户名后面的文本框中输入查询关键字,点击“查找”按钮就能够查找到与关键字有关的学员信息,并将信息显示在窗体上的ListView控件中。本任务将主要讲解使用ListView控件显示查询结果的方法。图7-10查找学员用户界面任务7.7实现“高校学生管理系统”模糊查询功能预备知识7.7.1ListView列表视图控件介绍ListView控件可以显示带图标的项列表,用户可使用该控件创建类似Win7系统计算机功能的用户界面,就是通过ListView控件实现的。任务7.7实现“高校学生管理系统”模糊查询功能预备知识7.7.1ListView列表视图控件介绍1.常用属性ListView控件常用属性及说明如教材表7-22所示。下面对比较重要的属性进行详细介绍:(1)View属性。用于获取或设置项在控件中的显示方式。View的属性值及说明如表7-23所示。表7-23View属性取值及说明任务7.7实现“高校学生管理系统”模糊查询功能预备知识7.7.1ListView列表视图控件介绍(2)FullrowSelect属性。用于指定是只选择某一项,还是选择某一项所在的整行,如果单击某项会选择该项及其所有子项,则为True;如果单击某项仅选择项本身,则为False。默认为False。说明:除非将ListView控件的View属性设置为Details,否则FullRowSelect属性无效。在ListView显示带有许多子项的项时,通常使用FullrowSelect属性。(3)GridLines属性。指定在包含控件中项及其子项的行和列之间是否显示网格线,如果在项及其子项的周围绘制网格线,则为True;否则为False。默认为False。说明:除非将ListView控件的View属性设置为Details,否则GridLines属性无效。任务7.7实现“高校学生管理系统”模糊查询功能预备知识7.7.1ListView列表视图控件介绍2.常用方法与事件ListView常用方法与事件如表7-24所示。表7-24ListView常用方法任务7.7实现“高校学生管理系统”模糊查询功能预备知识7.7.1ListView列表视图控件介绍3.ListViewItem列表视图中的选项总是ListViewItem类的一个实例。ListViewItem包含要显示的信息,如文本和图标的索引。ListViewItems有一个SubItems属性,其中包含另一个类ListViewSubItem的实例。如果ListView控件处于Details或Tile模式下,这些子项就会显示出来。每个子选项表示列表视图中的一个列。子项和主选项之间的区别是,子选项不能显示图标。通过Items集合吧ListViewItems添加到ListView中,通过ListViewItem上的SubItems集合把ListViewSubItems添加到ListViewItem中。任务7.7实现“高校学生管理系统”模糊查询功能预备知识7.7.1ListView列表视图控件介绍4.ColumnHeader要使用列表视图显示列标题,需要把类ColumnHeader的实例添加到ListView的Column生集合中,当ListView控件处于Details模式下时,Columnheaders为要显示的列提供一个标题。任务7.7实现“高校学生管理系统”模糊查询功能预备知识7.7.2ListView控件简单应用举例说明:使用ListView控件实现“我的电脑”本地磁盘详细信息功能。图7-12模拟“我的电脑”效果图任务实施编程实现任务7-7任务7.7实现“高校学生管理系统”模糊查询功能任务7.7实现“高校学生管理系统”模糊查询功能知识拓展1.ImageList控件简介ImageList控件是一个图片集管理器,支持bmp、gif和jpg等图像格式。主要用于缓存用户预定义好的图片列表信息,该控件不可以单独使用显示图片内容,必须和其他控件联合使用才可以显示预先存储其中的图片内容。另外在窗体上添加一个ImageList控件时,它不会出现在窗体上,而是出现在窗体的下方。其基本的属性和方法定义如表7-26所示:表7-25ImageList控件常用属性和方法任务7.7实现“高校学生管理系统”模糊查询功能知识拓展2.ImageList控件简单应用举例说明:实现“我的电脑”磁盘显示的“大图标”、“小图标”、“详细列表”显示效果。任务7.7实现“高校学生管理系统”模糊查询功能归纳总结在本节中,通过实例介绍了ListView控件的简单应用,及其与ImageList控件结合实现Windows资源管理器功能;要理解ListView控件的5种视图模式。ImageList控件能够为窗体其他控件提供图像的应用。重点要理解并掌握使用ListView控件显示多行信息功能的实现。任务7.8实现“高校学生管理系统”添加学员功能任务描述在前面的任务中,我们设计了“高校学生管理系统”的创建学员用户的界面,如图5-2所示,在本节中,我们将利用Command对象的ExecuteNonQuery()方法,实现对MySchool数据库中学生表(Student)增加一条记录操作。添加学员用户成功后的效果如图7-20所示。图7-20添加学员用户界面任务7.8实现“高校学生管理系统”添加学员功能预备知识7.8.1ExecuteNonQuery()方法简介在前面的任务中,我们使用ExecuteScalar()方法与ExecuteReader()方法实现了从数据库中查询记录的功能。那么怎样对数据表中记录进行增删改呢?这就需要使用Command对象的ExecuteNonQuery()方法。ExecuteNonQuery()方法,是Command对象的中的一个极其重要的方法,其返回值是一个int类型的数据,代表受SQL语句影响的行数。ExecuteNonQuery()方法执行特定的SQL语句,如Insert、Update、Delete。任务7.8实现“高校学生管理系统”添加学员功能预备知识7.8.1ExecuteNonQuery()方法简介使用Command对象的ExecuteNonQuery()方法的步骤:1.定义数据库连接字符串2.创建Connection对象3.定义要执行的sql语句4.创建Command对象5.调用Connection对象的Open()方法打开数据库6.执行ExecuteNonQuery()方法7.调用Connection对象的Close()方法关闭数据库8.根据返回的结果进行后续的处理我们可以通过它的返回结果知道执行的情况,如果返回值小于或等于0,说明没有记录受到影响。任务7.8实现“高校学生管理系统”添加学员功能任务实施编程实现任务7-8任务7.8实现“高校学生管理系统”添

温馨提示

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

评论

0/150

提交评论