C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章

上传人:w****i 文档编号:92482327 上传时间:2019-07-10 格式:PPT 页数:21 大小:883.50KB
返回 下载 相关 举报
C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章_第1页
第1页 / 共21页
C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章_第2页
第2页 / 共21页
C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章_第3页
第3页 / 共21页
C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章_第4页
第4页 / 共21页
C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章》由会员分享,可在线阅读,更多相关《C#桌面系统开发案例教程 教学课件 ppt 作者 李建青第七章(21页珍藏版)》请在金锄头文库上搜索。

1、第七章 实现系统数据的断开式访问,章节任务,任务一:实现系统的基本信息查询 任务二: 实现系统的收费业务,章节目标,掌握DataSet 对象和SqlDataAdapter对象的使用 掌握绑定数据源控件的使用; 掌握数据表格显示控件DataGridView的使用 。,7.1 DataSet对象,DataSet是ADO.NET的一个重要组成部分,它同时也是ADO.NET与之前的所有数据库访问技术的本质区别。 DataSet允许从数据库中检索到的数据存放在内存中,因为这个特点,它解决了两个重要问题,首先编程模型与数据源独立,其次是让ADO.NET能支持离线访问。,1 DataSet的结构 DataS

2、et的结构类似于关系型数据库,它包含的组成部分有表的对象DataTable和表之间的关系DataRelation。其中DataTable又包含DataColumn(列)和DataRow(行) DataSet分为类型化的DataSet和非类型化的DataSet。它们之间的区别分别如下所列。 类型化的DataSet 类型化的DataSet是先从基DataSet类派生,然后使用XML架构文件(.xsd)中的信息生成新类 直接通过数据集名称引用表、列和行 非类型化的DataSet 非类型化的DataSet没有相应的内置架构,它与类型化的DataSet一样,也包含表、列和行等,但它们只作为集合公开 需要

3、Tables集合才能引用表、列和行,2 为DataSet创建和删除表 (1) DataSet添加表对象 DataTable表征内存中的具有关系型数据的表,可以独立创建和使用,下面代码实现了给新创建的DataSet添加一个表对象。 DataSet ds = new DataSet(“FirstDS“);/创建名称为“FirstDS”的DataSet DataTable dt1 = new DataTable(“t1“); /创建表对象t1 ds.Tables.Add(dt1); /将表t1添加到DataSet中,(2) DataSet删除表对象 在DataSet中删除表共有三种方式,分别由三种方

4、法承担,如下所示。 ds.Tables.Clear(); /删除DataSet中所有的表 ds.Tables.Remove(dt1); /删除表dt1 ds.Tables.RemoveAt(0); /删除DataSet中的第一个表,(3) 表中列和行的添加和删除 本节介绍的DataColumn对象和DataRow对象,它们均不能单独存在,而是作为DataTable集合的两个元素存在。下面通过代码进行说明。 下列代码完成了向DataTable添加一个“Name”列,并为该列的前两行添加元素的功能。 DataTable dt = new DataTable(“t1“); /创建DataTable对

5、象“t1” dc.DataType = System.Type.GetType(“System.String“); /设置列类型 dc.ColumnName = “Name“; /设置列名 dt.Columns.Add(dc); /将列添加到DataTable中 DataRow dr = dt.NewRow(); / 在表dt中新建一行 dr“Name“ = “weiyi“; /为行中的列“Name”赋值 dt.Rows.Add(dr); /将行添加到表中 dr = dt.NewRow(); dr“Name“ = “lirong“; dt.Rows.Add(dr);,行与列的删除和DataTa

6、ble一样,同样支持三种方法,如下所示。 dt.Rows.Clear(); /删除所有行 dt.Rows.RemoveAt(0); /删除第一行 dt.Rows.Remove(row); /删除指定行 dt.Columns.Clear(); /删除所有列 dt.Columns.RemoveAt(0); /删除第一列 dt.Columns.Remove(column); /删除指定列,(4) 设置表的主键 关系数据库的表中往往都有一个主键,用来唯一标识该表中存储的每条记录。 下列代码完成表主键的创建。 DataTable dt = new DataTable(“t1“); DataColumn

7、thekey = new DataColumn1; key0=dt.Columns“Name“; dt.PrimaryKey = key;,(5) 为DataSet中的表添加约束 DataSet通过Constraint对象来支持约束,主要分为两种模式,即唯一约束(UniqueConstraint)和外键约束(ForeignKeyConstraint)。 唯一约束主要用于保证表的某列数据每行都不相同,以下是添加唯一约束的代码。 DataTable dt = new DataTable(“t1“); /为“Name“列建立唯一约束 UniqueConstraint uc = new UniqueC

8、onstraint(dt.Columns“Name“); dt.Constraints.Add(uc); /添加唯一约束,外键约束主要用于保证两个相关数据表之间完整性,代码如下所示。 DataTable dt1 = new DataTable(“t1“); DataTable dt2 = new DataTable(“t2“); /建立外键约束 ForeignKeyConstraint fkc = new ForeignKeyConstraint(“NameCon“, dt1.Columns “Name“, dt2.Columns “Name“); dt2.Constraints.Add(fk

9、c); /添加外键约束 。 。,(6) 为DataSet中的表添加关系 如果一个DataSet中包含多个DataTable,那么它们之间难免会产生关系,这就需要在它们之间创建一个或多个DataRelation对象,让它们相关。 建立表之间关系的代码如下所示。 DataSet ds = new DataSet(“Relation“); DataTable dt1 = new DataTable(“t1“); DataTable dt2 = new DataTable(“t2“); ds.Tables.Add(dt1); ds.Tables.Add(dt2); /创建关系“relation“ ds

10、.Relations.Add(“relation“,dt1.Columns“Name“,dt2.Columns“Name“);,7.2 DataAdapter对象及其使用,DataAdapter对象是DataSet对象和数据源之间联系的桥梁,主要功能是从数据源中检索数据、填充DataSet对象中的表、把用户对DataSet对象做出的更改写入到数据源。 在.NET Framework中主要使用两种DataAdapter对象:OleDbDataAdapter和SqlDataAdapter。OleDbDataAdapter对象适用于OLE DB数据源,SqlDataAdapter对象适用于SQL S

11、erver7.0或更高版本。,当DataAdapter填充DataSet对象时,它为返回的数据创建必须的表和列(如果这些表和列尚不存在)。 DataAdapter对象的常用属性如下所列 DeleteCommand 获取或设置一个SQL语句,以从数据集删除记录 InsertCommand 获取或设置一个SQL语句,以在数据集中插入新记录 SelectCommand 获取或设置一个SQL语句,用于在数据集中选择记录 UpdateBatchSize 获取或设置每次到服务器的往返过程中处理的行数 UpdateCommand 获取或设置一个SQL语句,用于更新数据源中的记录,DataAdapter对象常

12、用的方法如下所列: Fill() 该方法有多种重载方式,其主要作用是从数据源中提取数据以填充数据集 public int Fill(DataSet dataset,string srctable); 上述方法从参数srctable指定的表中提取数据以填充dataset指定的数据集 Update() 该方法用于更新数据源,也有多种重载方式 public int Update (DataSet dataset,string srctable); 上述方法 把参数dataset指定的数据集中的由参数srctable指定的表进行插入、更新或删除操作更新到数据源中。,7.3 数据表格显示控件DataGr

13、idView,数据控件DataGridView是ADO.NET 3.5中的重要控件。它是一种网格形式的控件,能以表格的形式显示比较复杂的数据,也可实现数据的增加、删除、修改等操作,在数据库的操作中经常用到。,1 DataGridView控件概述 DataGridView控件的主要功能是以网格形式,直观的显示数据,这些数据可以来自各种数据类型,如数组、DataSet等,允许一次显示数据库中的多个字段和记录。 在VS2005中,DataGridView控件提供了增加、删除、修改和排序的可视化操作,使开发人员可以方便的执行这些数据操作。 DataGridView控件的主要属性有两个: DataSou

14、rce属性:指定数据源,可以是简单数据源,如数组等。也可以是复杂数据源,如DataSet等。 DataMember属性:指定复杂数据源中的表。 这两个属性的使用方法代码如下所示: dataGridView1.DataSource = dataSet11; dataGridView1.DataMember = “Student“;,2 实现DataGridView的增、删、改 可以无代码实现数据的增加、删除、修改是DataGridView控件的最大特点,本小节通过实例逐步讲解如何实现数据的编辑。 3 动态获取DataGridView的行和列 在实际项目中,通过需要获取DataGridView控件中的一部分内容,如一个单元格、一行或一列,DataGridView控件专门提供了DataGridViewCell、 DataGridViewRow和DataGridViewColumn来实现对局部数据的操作。,综合案例 实现系统的查询及收费,小结,本章学习了Windows应用程序中对复杂数据的管理,其中共学习了3个控件:DataSet数据集控件、BindingSource绑定数据源控件和DataGridView复杂数据显示控件。 DataGridView控件是个很复杂但很实用的控件,仅仅通过理论知识还远远不够,必须通过不断实践,才能更好的掌握该控件。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号