《第11章数据库及应用课件.pptx》由会员分享,可在线阅读,更多相关《第11章数据库及应用课件.pptx(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、11.1 数据库系统简介数据库系统简介11.2 ADO.NET数据访问接口数据访问接口11.3 使用数据绑定控件访问数据库使用数据绑定控件访问数据库11.4 实训练习实训练习111. 数据库数据库所谓数据库(Database,DB),其实就是存放在计算机的外存储器中的相关数据的集合,可以形象地看作数据的“仓库”,它是通过文件或类似于文件的数据单位组织起来的。2.数据库系统数据库系统数据库系统是指实际可运行的,按照数据库方式存储、维护和向应用系统提供数据或信息支持的计算机系统。一个完整的数据库系统由数据库、数据库管理系统、数据库应用程序、计算机软件和硬件系统以及数据库管理员(Database M
2、anagement Administrator,DBA)组成。3.数据模型数据模型数据库中的数据是按照一定的数据模型组织的。数据模型是把现实世界转换为计算机能够处理的数据世界的桥梁。常用的数据模型有4种,分别是层次模型、网状模型、关系模型和面向对象模型,目前最常用的数据模型是关系模型。4.关系数据库关系数据库关系数据库中涉及的主要概念:关系:一个关系在逻辑上对应一个按行、列排列的二维表。属性:属性也称为字段,表中的一列称为一个属性,其反映的是研究对象的某一方面的特性。元组:又称为记录。是表中的每一行。主键:在表中能唯一地标识元组的一个属性或属性的集合。例如上表中的“工号”列。外键:表A中的某一
3、字段,在该表中虽然不是主键,或是作为主键的一部分,但该字段在表B中是主键,那么这个字段在表A中称为外键。例如以上“员工表”中的“部门编号”字段在“员工表”中不是主键,但如果在“部门表”中是主键,那么“部门编号”字段在“员工表”中称为外键。11.1.1 Access数据库简介数据库简介1.创建一个空数据库创建一个空数据库不使用任何模板,创建一个空数据库。过程如下:(1)启动Access 2010;(2)在“文件”选项卡上,单击“新建”,再单击“空数据库”;(3)在右窗格中“空数据库”下的“文件名”框中键入文件名,例如teacher.accdb。其中.accdb是Access2010数据库的扩展名
4、。若要更改文件的默认位置,则单击“文件名”框右侧的“浏览”图标,在弹出的窗口中选择一个新位置来存放数据库,单击“确定”。(4)单击“创建”。Access 2010将创建一个空数据库。同时打开一个已建立的空表,表名默认为“表1”。2.创建数据库中的表创建数据库中的表在Access中使用“设计视图”创建表是最灵活、最常用的方法。(1)鼠标右键单击选择表1的“设计视图”。这时会弹出修改表名对话框,在对话框中输入更改后的表名为“教师”。(2)按照表设计的要求在“字段名称”和“数据类型”对应列中输入表中第一个字段名称和对应的数据类型,在“常规”选项卡中指定字段长度。(3)重复以上操作,继续添加其他字段,
5、直到所有要添加的字段添加完毕。(4)此表中默认第一个字段名“教师编号”为主键。(5) 单击“关闭”按钮,退出表的“设计视图”。3.向表中添加数据向表中添加数据在Access打开的数据库中双击任意一个表名或者鼠标右键单击该表选择快捷方式中的“打开”命令,即可打开该表,随后可向表中添加数据。双击“教师”表。在此窗口中可以对表中的数据进行增、删、改等操作。11.1.2 SQL Server数据库简介数据库简介目前建立SQL Server数据库和表的方法主要有两种:第一种,使用SSMS资源管理器创建数据库和表;第二种,使用T-SQL语句创建数据库和表。1.使用使用SSMS资源管理器创建数据库资源管理器
6、创建数据库(1)按照安装数据库软件时输入的密码进入SSMS图形用户界面。右键单击“对象资源管理器”中的“数据库”,选择弹出菜单中的“新建数据库”命令。(2)在弹出的“新建数据库”对话框中,输入要新建的数据库名称为“student”,SQL Server环境将自动生成同名的数据库和日志,用户可以在“自动增长”选项中选择不同的选项,设置数据库文件和数据库日志文件的大小和增长方式。也可使用默认值。最后单击右下角的“确定”按钮,完成操作。2.使用使用SSMS资源管理器创建数据库表资源管理器创建数据库表(1)在SSMS的“对象资源管理器”中展开“数据库”文件夹,再展开要在其中创建表的数据库,例如新建的“
7、student”数据库。(2)右击“表”目录,在弹出的快捷方式中单击“新建表”命令,打开“新建表”窗口。(3)输入列名。对于数据表中所添加的每一列,均可以编辑列名、数据类型、长度、空否等列的基本属性。可以在表设计器的“列属性”中编辑列的其他属性。右键单击学号的左侧按钮,从弹出的快捷菜单中选择“设置主键”将学号列设置为表的主键列。(4)输入完成后,单击工具栏上“保存”按钮,将弹出“输入表名”对话框。将表名设定为stu_infor,然后单击“确定”按钮。(5)关闭“新建表”窗口,可以看到stu_infor表已经出现在student数据库中。3.使用使用SSMS资源管理器向表中添加数据资源管理器向表
8、中添加数据(1)在SSMS的“对象资源管理器”中鼠标右键选中新建的表“dbo.stu_infor”,选择弹出的快捷菜单中的“打开”命令。(2)在打开的空表中输入数据。(3)可以在表中完成对特定数据增、改、删等操作。11.1.3 SQL 语言语言1.SELECT查询语句查询语句(1)SELECT语句的基本格式:SELECT 字段名列表 FROM WHERE筛选条件 ORDER BY Asc|DescORDER BY子句,使显示结果按字段值的升序(Asc)或降序(Desc)进行排列。(2)SELECT查询简单示例 假定有一“学生”数据库,其中有一“学生”表,列出所有“籍贯”是辽宁的学生的姓名、系别
9、和出生日期:SELECT语句的含义是:从FROM子句指定的表中,根据WHERE子句限定的查询条件,按照SELECT子句中指定的字段次序,选出记录中的字段值;按ORDER BY中指定的字段排序产生一个查询结果表。SELECT 姓名,系别,出生日期 FROM 学生 WHERE 籍贯=辽宁 2.INSERT插入语句插入语句(1)INSERT语句的基本格式:INSERT INTO ( ,) Values( ,)说明:(2)INSERT语句的简单示例向学生表中插入一条记录,并给学生姓名、年龄和籍贯字段赋值。插入的常量应和字段名个数相同,类型应和字段名的数据类型一致。语句功能是向指定表的相应字段中插入数据
10、,形成新的记录。INSERT INTO 学生 (该语句的功能是对于指定的表,对满足条件的记录用表达式去更新指定的字段。姓名,年龄,籍贯) Values(李霞,25,辽宁)3.UPDATE修改记录修改记录在SQL语句中,可以通过UPDATE语句来修改表中满足条件的记录。(1)UPDATE语句的基本格式:UPDATE SET = ,SET= WHERE 说明:(2)UPDATE的简单示例将“教师”表中职称为的“副教授”的工资增加500元。该语句的功能是对于指定的表,对满足条件的记录用表达式去更新指定的字段。UPDATE 教师 SET 工资=工资+500 WHERE 职称=副教授4.DELETE删除
11、记录删除记录SQL语言中的DELETE命令用来删除数据表已失效的记录。(1)DELETE语句的基本格式:DELETE FROM 表名 WHERE 说明:(2)DELETE语句的简单示例从“成绩”表中删除所有“数学”成绩不及格的学生。注意:删除满足给定条件的记录,当缺省WHERE子句时,将删除表中的全部记录。DELETE FROM 成绩 WHERE 数学60使用SQL Server数据库时,SQL语句不区分大小写,可以根据习惯选择书写方式。数据库建立成功后,在VB.NET中可通过ADO.NET来进行数据访问。其作用就是在数据源和应用程序之间搭建一座桥梁,程序设计人员只要学会如何使用这些对象模型。
12、就可以达到访问不同数据库的目的。下图中显示了他们三者的关系。ADONET是一个类的集合。这些类允许基于.NET的应用程序读取和更新数据库以及其他数据源中的信息。可以通过.NET框架提供的System.Data名字空间访问这些类。完成此任务的是ADO.NET的两个核心组件:.NET数据提供程序和DataSet。11.2 ADO.NET11.2 ADO.NET数据访问接口数据访问接口11.2.1 ADO.NET概述概述1. .NET数据提供程序数据提供程序.NET数据提供程序模型提供了4个核心对象:Connection、Command、DataReader和DataAdapter对象。对象及功能如
13、下表所示:控件功能Connection建立与特定数据源的连接Command对数据源执行命令DataReader从数据源中读取向前的且只读的数据流DataAdapter用数据源填充DataSet并解析更新2. DataSet数据集数据集DataSet是客户内存中的数据库,它可包含表、关系、数据行、数据列等。DataSet对象模型中各主要对象的关系如下:DataTable对象:就是一个数据表,如把DataSet看成一个数据库的话,那么DataTable就是数据库的一个关系表。DataRows对象:DataTable中的数据行,和DataColumn一起构成表对象的主要部件。DataColumn对象
14、:DataTable中的数据列,和DataRows一起构成表对象的主要部件。DataRelation对象:表示表之间可能存在的关系,通常表示表间的主外键关系。 3命名空间命名空间ADO.NET有许多命名空间(NameSpace),这些命名空间保存着多种数据类,为了使用这些类,要将其引入到当前代码中(也可在声明和实例化对象时在类的前面加上命名空间的前缀)。.NET框架中与数据关联的命名空间如下:System.Data:保存ADO.NET类和其他各种一般类。或.NET数据提供程序中的子类。:保存SQL Server中特有的类。:描述用于访问Ole DB数据源的类。:含有.NET数据提供程序共享的类
15、。11.2.2 使用使用 ADO.NET对象访问数据库对象访问数据库ADO.NET对象包括两个核心组件,其一是.NET数据提供程序,其二是DataSet。图中列出了基于ADO.NET的解决方案所用到的主要对象,描述了二者之间的关系。下面将详细介绍ADO.NET中四个核心对象及数据集DataSet。1.Connection对象及其使用对象及其使用在对数据库进行操作之前。首先需建立到数据源的连接。可以使用Connection对象显示地建立连接,根据数据源的不同,VB.NET中提供了两个Connection对象,一个是OleDbConnection对象,访问Access数据源应使用该对象;一个是Sq
16、lConnection对象,访问SQLServer数据源应使用此对象。该对象的最重要的属性是ConnectionString,该属性用来设置连接字符串。连接对象的主要作用就是连接到数据源,可以在设计时创建连接。也可以通过程序代码创建,本节讨论代码创建方法。(1)SqlConnection对象的创建SqlConnecton用在SQL Server 7及SQL Server 2000以上版本,存取SQL Server有较好的效率。第一种方法:Dim Conn As SqlConnectionConn=New SqlConnection()Conn.ConnectionString=Server=S
17、erverName;database=data;UID=sa;PWD=passwordConn.Open()名 称说 明Server数据库服务器位置。可以是计算机名称、IP地址,如 使用本机数据库,用local表示database数据库名称UID登录数据库的账号,sa为SQLServer默认的管理员账号PWD密码第二种方法:Dim Conn As SqlConnectionConn=New SqlConnection()Conn.ConnectionString=Data Source=ServerName;Intitial Catalog=data; User ID=sa;Password=
18、passwordConn.Open()名 称说 明Data Source数据库服务器位置。可以是计算机名称、IP地址,使用本机数据库,用local表示Intitial Catalog数据库名称User ID登录数据库的账号,sa为SQLServer默认的管理员账号Password密码说明:以上两种方法中出现的Conn为Connection对象,可以命名为满足VB.NET命名规则的任意变量名。习惯上使用Conn或者Con。以上两种方法给出的均是登录SQL Server采用混合登录模式时的字符串书写格式;若登录SQL Server时采用的是windows账号管理集成的模式,需要传入字符串Inter
19、grated Security=True,此时UID和PWD可以省略。连接字符串改成:Conn.ConnectionString=Server=ServerName;database=data;IntergratedSecurity=True。其中:data为数据库文件名,使用时用实际用到的数据库名称替换。其中:Dim Conn As SqlConnectionConn=New SqlConnection()这两条语句先定义了一个名为Conn的SqlConnection对象,再为Conn分配存储空间;可以将其合并成一条语句:Dim Conn =New SqlConnection()(2)Ole
20、DBConnection对象的创建下面以连接Access 2010版本的data.accdb数据库为例,讲解OleDBConnection对象的创建和使用。其代码如下:Dim Con As OleDBConnectionCon=New OleDBConnection()Con.ConnectionString = Provider=Microsoft.Ace.OleDb.12.0;Data Source=F:data.accdb; Con.Open()说明:Provider是OLEDB提供程序的属性,表示使用的是OLEDB数据提供程序。Data Source是数据源,表示要连接的数据库。其中:
21、data为数据库文件名,使用时用实际用到的数据库名称替换。对于数据库要给出其绝对路径,此例中数据库存放在F盘根目录下。其中:Dim Con As OleDBConnectionCon=New OleDBConnection()可以将其合并成一条语句:Dim Con=New OleDBConnection()(3)关闭一个连接当不再需要某个连接时,应将其关闭,以避免占用内存。下面的程序关闭连接并将变量从内存中释放。使用语句:连接对象名.close()。此例中为:Con.Open()【例11-1】编写VB.NET应用程序测试连接SQL Server中student数据库。如果连接成功,显示“stu
22、dent数据库连接成功!”,如果连接失败显示“数据库连接有错误!”。(1)启动Visual Studio 2013,建立VB.NET窗口应用程序,在设计窗口中设计图形用户界面如图所示,在窗体上有一按钮,按钮上显示文字“数据库连接测试”。(2)在“代码”视图下,编写如下代码:Public Class Form1Dim Conn As SqlConnectionPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTryConn = New
23、 SqlConnection()Conn.ConnectionString = Server=(local);database=student;UID=sa;PWD=sa123Conn.Open()MessageBox.Show(student数据库连接成功!)Conn.Close()CatchMessageBox.Show(数据库连接有错误!)End TryEnd SubEnd Class(3)运行程序结果4说明:(1)由于本机中SQL Server 的登录模式为混合模式,用户名为sa,密码为sa123,所以使用UID=sa;PWD=sa123连接字符串。程序中使用Try.Catch.End
24、Try异常处理语句,如果连接不成功,由Catch语句捕获异常,显示“数据库连接有错误!”。(2)此例题中采用SQL Server数据库连接字符串的第一种写法,对于第二种连接字符串的写法,本章中所有例题也可正确运行,以后不再赘述。注意:对于SQLServer数据库的连接使用sqlConnection对象,对于Access数据库的连接使用OleDBConnection对象。以后的Command对象、DataReader对象、DataAdapter对象也是类似的。对于SQLServer数据库,使用sqlCommand对象、sqlDataReader对象、sqlDataAdapter对象;而对于Acc
25、ess数据库,使用OleDBCommand对象、OleDBDataReader对象、OleDBDataAdapter对象。下面将以SQLServer数据库为例来继续讲解,对于Access数据库的操作步骤也类似。2. Command对象及其使用 (1)Command对象的常用属性CommandType属性:获取或设置Command对象要执行的命令的类型,其值有三种情况:StoredProcedure、TableDirect和Text,分别对应于CommandText属性的三种方式。CommandText属性:用来获取或设置要对数据源执行的SQL语句或存储过程或表名。CommandTimeout属
26、性:用来获取或设置在终止对执行命令的尝试并生成错误之前的等待时间,以秒为单位,默认为30秒。Connection属性:用来获取或设置此Command对象使用的Connection对象名称。 (2)Command对象的常用方法ExecuteReader方法:将CommandText发送到Connection对象并生成一个DataReader数据集合。ExecuteNonQuery方法:针对连接对象执行SQL语句并返回受影响的行数。 (3)Command对象的使用创建Command对象在使用Command对象之前必须要先创建Command对象,格式如下:Dim Cmd As New SqlComm
27、and() Cmd.connection=conCmandtext=select * from 表名说明:可用如下简捷的定义方法:Dim Cmd As New SqlCommand(select * from 表名,con)其中:“select * from 表名”需用实际使用的SQL语句替换,“con”需用实际使用的连接对象替换。Command对象的执行格式如下:Command对象.ExcuteNonQuery()例如:Cmd. ExcuteNonQuery()【例11-2】编写程序,从键盘向student数据库中的stu_infor表插入一条新记录。3在按钮的单击事件过程中添加代码如下:P
28、ublic Class Form1Dim Conn As SqlConnectionPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTryConn = New SqlConnection()Conn.ConnectionString = Server=(local);database=student;UID=sa;PWD=sa123Conn.Open()Dim StrSQL As StringStrSQL = insert int
29、o stu_infor(学号,姓名,性别,系别)values (& TextBox1.Text &,& TextBox2.Text &,& TextBox3.Text &,& TextBox4.Text &)Dim Comm As New SqlCommand(StrSQL, Conn)Comm.ExecuteNonQuery()Conn.Close()MessageBox.Show(添加数据成功!)CatchMessageBox.Show(数据库连接或数据输入有误!) End TryEnd SubEnd Class(3)运行程序,输入需插入记录的各个字段内容,并单击“添加”按钮,所得的结果如
30、图所示。 3.DataReader对象及其使用对象及其使用(1)DataReader对象提供单向只读数据,只能依次读取数据,而DataSet中的数据可以任意读取和修改。DataReader对象有一个很重要的方法Read,它是个布尔值,作用是读取下一条数据,当布尔值为真时执行,为假时退出。(2)DataReader从数据库当中检索只读的数据流,存储在客户端的网络缓冲区当中。在内存当中只存储一行,具有开销小、速度快的特点。由于数据不在内存中缓存,所以在检索大量数据时,DataReader是一种较好的选择。DataReader只能通过Command对象的ExecuteReader()方法来创建,不能
31、实例化。(3)DataReader具有独占性,如果在已经打开DataReader的情况下,将不能对Connection进行任何操作,必须在用完时调用Close()方法关闭。通过Command对象返回多个结果集,并且通过DataReader对象NextResult()方法来使用。(4)读取DataReader对象的数据有两种方法:第一种,通过和DataGridView等数据控件绑定,直接输出;第二种,在程序中编写循环语句将数据输出。【例11-3】使用DataGridView控件显示stu_infor表中的全部记录。(1)在VB.NET设计窗口中,建立如图所示的窗体,窗体中包含一个文本框,一个按钮
32、和一个DataGridView控件。(2)在属性面板中TextBox1的Text属性中输入SQL语句“select * from stu_infor”,用来显示stu_infor表中的所有记录,(3)在VB.NET代码窗口中输入如下语句:Public Class Form1Dim Conn As SqlConnectionPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTryConn = NewSqlConnection()Con
33、n.ConnectionString = Server=(local);database=student;UID=sa;Password=sa123Conn.Open()Dim Comm As New SqlCommand(TextBox1.Text, Conn) Dim dr As SqlDataReaderdr = Comm.ExecuteReader()Dim dt As DataTabledt = New DataTable()dt.Load(dr)DataGridView1.DataSource = dtConn.Close()CatchMessageBox.Show(数据库连接有错
34、误!)End TryEnd SubEnd Class 4.DataAdapter对象及其使用对象及其使用1)DataAdapter对象的常用属性SelectCommand属性:用来获取SQL语句或存储过程,选择数据源中的记录。InsertCommand属性:用来获取SQL语句或存储过程,把新记录插入到数据源中。UpdateCommand属性:用来获取SQL语句或存储过程,更新数据源中的记录。DeleteCommand属性:用来获取SQL语句或存储过程,删除数据源中的记录。2)DataAdapter对象的常用方法(1) Fill方法其主要作用是从数据源中提取数据以填充数据集。该方法实现了数据适配
35、器的第一个用途:从数据库中将数据读入到数据集中。该方法使用DataAdapter的SelectCommand的结果来填充DataSet,并将要填充的DataSet和DataTable对象作为它的参数。其用法为:DataAdpter对象.Fill(DataSet对象,数据表)。功能:从参数“数据表”指定的表中提取数据以填充参数DataSet对象指定的数据集。【例11-4】编写程序使用DataAdapter对象的Fill方法填充DataSet数据集,并将结果在DataGridView控件中显示出来。在代码窗口中编写如下代码:Public Class Form1Dim Conn As SqlConn
36、ectionDim da As SqlDataAdapterDim ds As DataSetPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTryConn = NewSqlConnection()Conn.ConnectionString = Server=(local);Database=teacher;UID=sa;PWD=sa123Conn.Open()da = NewSqlDataAdapter(TextBox1.Tex
37、t, Conn)ds = NewDataSet()da.Fill(ds, teacher_infor)DataGridView1.DataSource = ds.Tables(teacher_infor)Conn.Close()CatchMessageBox.Show(数据库连接有错误!)End TryEnd SubEnd Class)(2) Update方法方法该方法用于更新数据源中的数据,实现了数据适配器的第二个功该方法用于更新数据源中的数据,实现了数据适配器的第二个功能:从数据集中将已更改的数据以批次的方式写回到后台数据库。能:从数据集中将已更改的数据以批次的方式写回到后台数据库。其格式
38、如下:其格式如下:DataAdapter对象对象.Update(DataSet对象,数据表对象,数据表)功能:从参数功能:从参数“数据表数据表”中提取数据以更新参数中提取数据以更新参数DataSet对象指定的对象指定的数据集。数据集。【例【例11-5】编写程序,使用】编写程序,使用DataAdapter对象的对象的Update方法,完成方法,完成添加和更新数据库表中数据的功能。添加和更新数据库表中数据的功能。设计界面,如图所示。设计界面,如图所示。编写代码编写代码Form1的加载事件过程的加载事件过程Private Sub Form1_Load(ByVal sender As System.O
39、bject, ByVal e As System.EventArgs) HandlesMyBase.LoadTry连接本地连接本地SQL Server数据库数据库Conn = NewSqlConnection()Conn.ConnectionString = Server=(local);Database=teacher;UID=sa;PWD=sa123Conn.Open()Dim Comm AsNewSqlCommand(Select * from teacher_infor, Conn)Dim dr AsSqlDataReaderdr = Comm.ExecuteReader()dt =
40、NewDataTable()dt.Load(dr)DataGridView1.DataSource = dtConn.Close()CatchMessageBox.Show(数据库连接有错误!数据库连接有错误!)End TryEnd SubButton1的单击事件过程的单击事件过程Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTry连接本地连接本地SQL Server数据库数据库Conn = New SqlConnection(
41、)Conn.ConnectionString = Server=(local);Database=teacher;UID=sa;PWD=sa123Conn.Open()da = New SqlDataAdapter(Select * from teacher_infor, Conn)ds = New DataSet()da.Fill(ds, teacher_infor)Dim dr As DataRowdr = ds.Tables(teacher_infor).NewRow()通过通过DataRow对象添加一条记录对象添加一条记录dr(教师编号教师编号) = TextBox1.Textdr(教
42、师姓名教师姓名) = TextBox2.Textdr(出生日期出生日期) = TextBox3.Textdr(职称职称) = TextBox4.Textdr(联系电话联系电话) = TextBox5.Textds.Tables(teacher_infor).Rows.Add(dr)更新到数据库里更新到数据库里Dim scb As New SqlCommandBuilder(da)da.Update(ds, teacher_infor)DataGridView1.DataSource = ds.Tables(teacher_infor)Conn.Close()Catch ex As Except
43、ionMessageBox.Show(ex.ToString()End TryEnd SubDataGridView1的的CellClick事件过程事件过程Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClickIf e.RowIndex DataGridView1.Rows.Count - 1 Then将选中行的数据写到文本框中将选中行的
44、数据写到文本框中TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString()TextBox2.Text = DataGridView1.Rows(e.RowIndex).Cells(1).Value.ToString()TextBox3.Text = DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString()TextBox4.Text = DataGridView1.Rows(e.RowIndex).Cells(3).Value.ToString()Text
45、Box5.Text = DataGridView1.Rows(e.RowIndex).Cells(4).Value.ToString()End IfEnd Sub5.DataSet对象及其应用对象及其应用DataSet对象是一个创建在内存中的集合对象,它可以包含任意数对象是一个创建在内存中的集合对象,它可以包含任意数量的数据表。以及所有的表的约束、索引和关系,相当于一个小量的数据表。以及所有的表的约束、索引和关系,相当于一个小型的关系数据库。型的关系数据库。DataSet对象包括一组对象包括一组DataTable(关系表关系表)对象和对象和DataRelation(表间关联表间关联)对象,其中
46、对象,其中DataTable对象由对象由DataRow,DataColumn和和DataRelation对象组成。对象组成。(1)DataTable对象,代表创建在对象,代表创建在DataSet中的数据表。中的数据表。DataTable的常用属性和方法的常用属性和方法 对 象功 能Columns属性获取属于该表的列的集合Rows属性获取属于该表的行的集合TableName属性 设置或返回表的名字Clear方法清除DataTable的所有数据创建创建DataTable对象对象方法一:利用方法一:利用DataAdapter对象的对象的Fill方法。可采用以下格方法。可采用以下格式:式:SqlDat
47、aAdapterl.Fill(“DataSetl”, “dt”)此方法创建了一个名为此方法创建了一个名为dt的的DataTable对象,并将数据源的对象,并将数据源的数据传到表数据传到表dt中。中。方法二:使用代码创建方法二:使用代码创建DataTable,可采用如下格式:,可采用如下格式:Dim dt As New DataTable (2)DataRow对象,表示对象对象,表示对象DataTable中的一行数据。中的一行数据。DataRow对象的常用属性与方法对象的常用属性与方法Item属性:返回或设置指定列中的数据。属性:返回或设置指定列中的数据。其访问形式如下:其访问形式如下:Data
48、Row对象对象.Item(2)或或DataRow对象对象(2),两种,两种形式等价。形式等价。RowState属性:返回当前行的状态。属性:返回当前行的状态。BeginEdit方法:对方法:对DataRow开始编辑操作。开始编辑操作。CancelEdit方法:取消对当前行的编辑,与方法:取消对当前行的编辑,与BeginEdit搭配搭配使用。使用。Delete方法:删除方法:删除DataRow。EndEdit方法:结束对行的编辑,应与方法:结束对行的编辑,应与BeginEdit搭配使用。搭配使用。创建创建DataRow行对象行对象在定义了数据表及结构后,即可将新的数据行添加到表中,就需要创建一在
49、定义了数据表及结构后,即可将新的数据行添加到表中,就需要创建一个个DataRow的对象,然后调用的对象,然后调用DataTable的的NewRow方法即可完成。方法即可完成。其格式如下:其格式如下:Dim dr as DataRow此语句创建了一个此语句创建了一个DataRow的对象,对象名称为的对象,对象名称为dr。数据行的操作数据行的操作增加数据行,可采用如下语句实现:增加数据行,可采用如下语句实现:Dim dr As DataRow 定义一个数据行对象,定义一个数据行对象,dr=dt.newRow() 增加一空的数据行增加一空的数据行为数据行各字段赋值为数据行各字段赋值dr (“字段名字
50、段名1”)=值值dr (“字段名字段名2”)=值值 dr (“字段名字段名n”)=值值dt.Rows.Add(dr)(3)DataColumn对象,表示对象对象,表示对象DataTable中的一列数据。中的一列数据。列对象是创建表的基础,只有在定义好了表列之后,才决定列对象是创建表的基础,只有在定义好了表列之后,才决定了表的具体属性。要创建表列,需用到数据表的了表的具体属性。要创建表列,需用到数据表的DataColumn对象。对象。DataColumn对象的常用属性对象的常用属性 ColumnName属性:设置或返回在属性:设置或返回在Columns集合中列的名字。集合中列的名字。 DataT