欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    ADONET数据访问技术.ppt

    • 资源ID:5414767       资源大小:1.41MB        全文页数:166页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ADONET数据访问技术.ppt

    第9章 ADO.NET数据访问技术,ActiveX Data Objects(ADO)是Microsoft开发的面向对象的数据访问库,目前已经得到了广泛的应用。而ADO.NET则是ADO的后续技术。但ADO.NET并不是ADO的简单升级,而是有非常大的改进。利用ADO.NET,程序员可以非常简单而快速地访问各种数据库,如SQL Server数据库。,9.1 数据库概述,9.1.1 关系数据库的基本结构1.表2.记录3.字段4.关系5.索引6.视图7.存储过程,表9.1 学生情况表student,表9.2 学生成绩表score,Stud 数据库中有以下两个表:,9.1.2 SQL Server 2005数据库管理系统SQL Server 2005是微软公司在SQL Server 2000基础上推出的关系数据库管理系统,是目前主流的数据库管理系统之一。,SQL Server2005版本:SQL Server 2005 Enterprise Edition(X86/X64)企业版SQL Server 2005 Standard Edition(X86/X64)标准版SQL Server 2005 Workgroup Edition(X86)工作组版SQL Server 2005 Developer Edition(X86/X64)开发版SQL Server 2005 Express Edition(X86)学习版,SQL Server 7 SQL Server 2000 SQL Server 2005 SQL Server 2008 SQL Server 2012,1.建立数据库Stud在安装并进入SQL Server 2005系统后(这里的登录名为sa,密码为123456),通过右击“数据库”项,在出现的快捷菜单中选择“新建数据库”命令,建立一个名称为Stud的数据库,将其路径改为Myaspnet网站的App_Data文件夹中(完整路径为C:ASPNET示例ASPNETApp_Data文件夹),这样自动建立Stud.mdf和Stud_log.ldf两个文件,前者为数据库主文件,后者是日志文件。,2.建立数据表student和score再展开Stud数据库,右击下方的“表”项,在出现的快捷菜单中选择“新建表”命令,可以通过交互建立表结构。这里新建student和score两个表,前者的关键字为“学号”,后者的关键字为“学号+课程名”,它们的表结构分别如图9.1和9.2所示。这样在Stud数据库的表项下方出现db.student和dbo.score两个表项,选中student表,右击鼠标,在出现的快捷菜单中选择“打开表”,可以输入表记录。在student和score表中输入的记录分别如图9.3和9.4所示(分别对应表9.1和表9.2中的记录)。本章后面的例子使用这些样本数据介绍数据库编程方法。,图9.1 student表结构,图9.2 score表结构,图9.3 student表记录,图9.4 score表记录,3.权限设置为了在网页中访问Stud数据库,必须给Stud数据库设置一些访问权限,否则在网页运行时出现以下错误:无法打开登录所请求的数据库Stud。登录失败。用户LCB-PCASPNET登录失败。,为了简单,给Stud数据库设置一些公共用户访问权限,其操作如下:(1)右击数据库项下的“Stud”项,在出现的快捷菜单中选择“属性”命令,在出现的“数据库属性Stud”对话框中单击“选项页”中的“权限”项,此时全为空白项,说明没有授予任何权限。(2)单击“添加”命令按钮,在出现的“选择用户或角色”对话框中单击“浏览”命令按钮。(3)在出现的对话框中勾选“public”项,返回到“数据库属性Stud”对话框。,(4)通过勾选“public的显式权限”列表中的Delete、Insert、Select、Update的授予项以授予相应权限。如图9.5所示。,9.1.3 结构化查询语言(SQL)1.SQL语言的组成SQL语言包含查询、操纵、定义和控制等几个部分。它们都是通过命令动词分开的,各种语句类型对应的命令动词如下:数据查询的命令动词为SELECT。数据定义的命令动词为CREATE、DROP。数据操纵的命令动词为INSERT、UPDATE、DELETE。数据控制的命令动词为GRANT、REVOKE。,2.数据定义语言(1)CREATE语句CREATE语句用于建立数据表,其基本格式如下:CREATE TABLE 表名(列名1数据类型1 NOT NULL,列名2数据类型2 NOT NULL)(2)DROP语句DROP语句用于删除数据表,其基本格式如下:DROP TABLE 表名,3.数据操纵语言(1)INSERT语句 INSERT语句用于在一个表中添加新记录,然后给新记录的字段赋值。其基本格式如下:INSERT INTO 表名(列名1,列名2,)VALUES(表达式1,表达式2,),(2)UPDATE语句UPDATE语句用于新的值更新表中的记录。其基本格式如下:UPDATE 表名 SET 列名1=表达式1,SET 列名2=表达式2WHERE 条件表达式(3)DELETE语句DELETE语句用于删除记录,其基本格式如下:DELETE FROM 表名WHERE 条件表达式,4.数据查询语句SQL的数据查询语句是使用很频繁的语句。SELECT的基本格式如下:SELECT 字段表FORM 表名WHERE 查询条件GROUP BY 分组字段HAVING 分组条件ORDER BY 字段ASC|DESC各子句的功能如下:SELECT:指定要查询的内容。FORM:指定从其中选定记录的表名。WHERE:指定所选记录必须满足的条件。GROUP BY:把选定的记录分成特定的组。HAVING:说明每个组需要满足的条件。ORDER BY:按特定的次序将记录排序。,【例9.4】查询student表中“09002”班所有学生记录。,SELECT*FROM student WHERE 班号=09002,SELECT student.学号,student.姓名,score.课程名,score.分数FROM student,scoreWHERE student.学号=score.学号ORDER BY score.课程名,【例9.6】查询所有学生的学号、姓名、课程名和分数,要求按课程名排序。,【例9.7】查询分数在8090之间的所有学生的学号、姓名、课程名和分数。,SELECT student.学号,student.姓名,score.课程名,score.分数FROM student,scoreWHERE student.学号=score.学号 AND score.分数 BETWEEN 80 AND 90,【例9.8】查询每个班每门课程的平均分。,SELECT student.班号,score.课程名,AVG(score.分数)AS 平均分FROM student,scoreWHERE student.学号=score.学号GROUP BY student.班号,score.课程名,【例9.9】查询最高分的学生姓名和班号。,SELECT student.姓名,student.班号FROM student,scoreWHERE student.学号=score.学号 AND score.分数=(SELECT MAX(分数)FROM score),9.2 ADO.NET模型ADO.NET简介 ADO.NET是在.NET Framework上访问数据库的一组类库,它利用.NET Data Provider(数据提供程序)以进行数据库的连接与访问。通过ADO.NET,数据库程序设计人员能够很轻易地使用各种对象来访问符合自己需求的数据库内容。,9.2.2 ADO.NET体系结构,【说明】ADO.NET是在.NET Framework上访问数据库的一组类库。ADO.NET将数据库中的数据将通过DataAdapter对象,以XML的格式传送到客户端的DataSet对象中,实现数据库的离线操作。DataSet对象被称为“内存数据库”,具有DBMS的主要功能。(如:DataSet对象中含有DataTable对象、DataTable又含有DataRow、DataColum对象)客户端对数据的操作都是在本地DataSet对象中完成的。最后,再通过DataAdapter对象“回写”到数据库中。ADO.NET也提供“快捷、简单”的数据读取方法。如:通过,DataReader对象实现针对查询结果的只读操作。,1.NET Data Provider.NET Data Provider是指访问数据源的一组类库,主要是为了统一对于各类型数据源的访问方式而设计的一套高效能的类库。下表给出了.NET Data Provider中包含的4个对象。,在.NET Framework中常用的有如下4组数据提供程序:(1)SQL.NET Data Provider(2)OLEDB.NET Data Provider(3)ODBC.NET Data Provider(4)ORACLE.NET Data Provider用于访问不同类型的数据库资源。,【注意】如果采用SQL.NET Data Provider访问SQL Server数据源,则相应的ADO.NET对象名称之前都要加上“SQL”。如:SqlConnection、SqlCommand、SqlDataAdapter、SqlDataReader。,2.DataSetDataSet(数据集)是ADO.NET离线数据访问模型中的核心对象,主要使用时机是在内存中暂存并处理各种从数据源中所取回的数据。DataSet其实就是一个存放在内存中的数据暂存区,这些数据必须通过DataAdapter对象与数据库进行数据交换。在DataSet内部允许同时存放一个或多个不同的数据表(DataTable)对象。这些数据表是由数据列和数据域所组成的,并包含有主索引键、外部索引键、数据表间的关系(Relation)信息以及数据格式的条件限制(Constraint)。,9.2.3 ADO.NET数据库的访问流程ADO.NET数据库访问的一般流程如下:(1)建立Connection对象,创建一个数据库连接。(2)在建立连接的基础上可以使用Command对象对数据库发送查询、新增、修改和删除等命令。(3)创建DataAdapter对象,从数据库中取得数据。(4)创建DataSet对象,将DataAdapter对象填充到DataSet对象(数据集)中。(5)如果需要,可以重复操作,一个DataSet对象可以容纳多个数据集合。(6)关闭数据库连接。(7)在DataSet上进行所需要的操作。若数据集的数据要输出到窗体中或者网页上,则可将DataSet绑定道数据控件上。,9.3 ADO.NET的数据访问对象9.3.1 SqlConnection对象 在数据访问中首先必须是建立数据库的物理连接。.NET Data Provider使用SqlConnection类的对象建立与SQLServer数据库的物理连接。,1.SqlConnection类,2.建立连接字符串ConnectionString建立连接字符串的方式是:先创建一个SqlConnection对象,将其ConnectionString属性设置为如下值:,Data Source=localhost;Initial Catalog=Stud;Integrated Security=False;User Id=sa;Password=123456,【注】:另外一种ConnectionString格式:“server=(local);database=Stud;user=sa;password=123456,ConnectionString中的常用的关键字值有效名称如下:,Data Source(或Server或Address):要连接的SQL Server实例的服务器名称或网络地址。Initial Catalog(或Database):数据库的名称。Integrated Security(或Trusted_Connection):为False(默认值)时,将在连接中指定用户ID和密码。为True时,将使用当前的Windows帐户凭据进行身份验证。可识别的值为True、False、yes、no以及与True 等效的sspi(强烈推荐)。,ConnectionString中的常用的关键字值有效名称如下:,Persist Security Info:为False(默认值)或no(强烈推荐)时,如果连接是打开的或者一直处于打开状态,那么安全敏感信息(如密码)将不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。可识别的值为True、False、yes和no。User ID:SQL Server登录帐户。Password(或Pwd):SQL Server帐户登录的密码。,在指定连接字符串后,就可使用Open方法打开连接。,【例9.10】设计一个说明直接建立连接字符串的连接过程的网页WebForm9-1.aspx。其设计步骤如下:(1)在Myaspnet网站的ch9文件夹中添加一个名称为WebForm9-1的空网页。(2)其设计界面如下图所示,其中包含一个Button控件Button1和一个标签Label1,将该网页的StyleSheetTheme属性设置为Blue。,在该网页上设计如下事件过程:protected void Button1_Click(object sender,EventArgs e)string mystr;SqlConnection myconn=new SqlConnection();mystr=Data Source=localhost;Initial Catalog=Stud;+Integrated Security=False;User Id=sa;Password=123456;myconn.ConnectionString=mystr;myconn.Open();if(myconn.State=ConnectionState.Open)Label1.Text=成功连接到SQL Server数据库;elseLabel1.Text=不能连接到SQL Server数据库;myconn.Close();,3.将连接字符串存放在Web.config文件中可以在Web.config文件中保存用于连接数据库的连接字符串,再通过对Web.config文件加密,从而达到保护连接字符串的目的。例如,在节中插入以下代码:,这样,以下代码自动获取Web.config文件中的连接字符串myconnstring:,string mystr=ConfigurationManager.ConnectionStringsmyconnstring.ToString();SqlConnection myconn=new SqlConnection();myconn.ConnectionString=mystr;myconn.Open();,也可以在Web.config文件的节中插入以下代码:,这样,以下代码自动获取Web.config文件中的连接字符串myconnstring:,string mystr=ConfigurationManager.AppSettingsmyconnstring;SqlConnection myconn=new SqlConnection();myconn.ConnectionString=mystr;myconn.Open();,9.3.2 SqlCommand 对象 建立数据连接之后,就可以执行数据访问操作和数据操纵操作了。一般对数据库的操作被概括为CRUDCreate、Read、Update和Delete。在ADO.NET中定义SqlCommand 类去执行这些操作。,1.SqlCommand 类的属性和方法,2.创建SqlCommand 对象SqlCommand 类的主要构造函数如下:SqlCommand();SqlCommand(cmdText);SqlCommand(cmdText,connection);其中,cmdText参数指定查询命令的文本。connection参数是一个SqlConnection,它表示到SQL Server数据库的连接。,例如,以下语句创建一个SqlCommand 对象mycmd:SqlConnection myconn=new SqlConnection();mystr=Data Source=localhost;Initial Catalog=Stud;+Integrated Security=False;User Id=sa;Password=123456;myconn.ConnectionString=mystr;myconn.Open();SqlCommand mycmd=new SqlCommand(SELECT*FROM student,myconn);,3.通过SqlCommand 对象返回单个值在SqlCommand 的方法中,ExecuteScalar方法执行返回单个值的SQL命令。例如,如果想获取Student数据表中学生的总人数,则可以使用这个方法执行SQL查询:SELECT Count(*)FROM student,【例9.11】设计一个通过SqlCommand 对象求score表中的平均分的网页WebForm9-2.aspx。解:其设计步骤如下:(1)在Myaspnet网站的ch9文件夹中添加一个名称为WebForm9-2的空网页。(2)其设计界面如下图所示,其中包含一个HTML标签、一个文本框TextBox1和一个Button控件Button1,将该网页的StyleSheetTheme属性设置为Blue。,在该网页上设计如下事件过程:,protected void Button1_Click(object sender,EventArgs e)string mystr,mysql;SqlConnection myconn=new SqlConnection();SqlCommand mycmd=new SqlCommand();mystr=Data Source=localhost;Initial Catalog=Stud;+Integrated Security=False;User Id=sa;Password=123456;myconn.ConnectionString=mystr;myconn.Open();mysql=SELECT AVG(分数)FROM score;mycmd.CommandText=mysql;mycmd.Connection=myconn;TextBox1.Text=mycmd.ExecuteScalar().ToString();myconn.Close();,网页运行界面,单击工具栏中的按钮运行本网页,再单击“求平均分”命令按钮,其运行结果如下图所示,表示所有学生平均分为78。,4.通过SqlCommand 对象执行修改操作在SqlCommand 的方法中,ExecuteNonQuery方法执行不返回数据结果的SQL命令。该方法主要用来更新数据,通常使用它来执行UPDATE、INSERT和DELETE语句。该方法不返回行,对于UPDATE、INSERT和DELETE语句,返回值为该命令所影响的行数,对于所有其他类型的语句,返回值为-1。,【例9.12】设计一个通过SqlCommand 对象将score表中所有分数增5分和减5分的网页WebForm9-3。解:其设计步骤如下:(1)在Myaspnet网站的ch9文件夹中添加一个名称为WebForm9-3的空网页。(2)其设计界面如下图所示,其中包含两个Button控件Button1和Button2,将该网页的StyleSheetTheme属性设置为Blue。,网页设计界面,在该网页上设计如下事件过程:,public partial class WebForm9_3:SqlCommand mycmd=new SqlCommand();/公共字段SqlConnection myconn=new SqlConnection();/公共字段protected void Page_Load(object sender,EventArgs e)string mystr;mystr=Data Source=localhost;Initial Catalog=Stud;+Integrated Security=False;User Id=sa;Password=123456;myconn.ConnectionString=mystr;myconn.Open();protected void Page_Unload()myconn.Close();/关闭本网页时关闭连接,protected void Button1_Click(object sender,EventArgs e)string mysql;mysql=UPDATE score SET 分数=分数+5;mycmd.CommandText=mysql;mycmd.Connection=myconn;mycmd.ExecuteNonQuery();protected void Button2_Click(object sender,EventArgs e)string mysql;mysql=UPDATE score SET 分数=分数-5;mycmd.CommandText=mysql;mycmd.Connection=myconn;mycmd.ExecuteNonQuery();,单击工具栏中的按钮运行本网页,单击“分数+5”命令按钮,此时score表中所有分数都增加5分,为了保存score表不变,再单击“分数-5”命令按钮,此时score表中所有分数都恢复成原来的数据,其运行界面如下图所示。,5.在SqlCommand 对象的SQL命令中指定参数SQL.NET Data Provider支持执行命令中包含参数的情况,也就是说,可以使用包含参数的数据命令或存储过程执行数据筛选操作和数据更新等操作,其主要流程如下:(1)创建Connection对象,并设置相应的属性值。(2)打开Connection对象。(3)创建Command对象并设置相应的属性值,其中CommandText属性中含有占位符。(4)创建参数对象,将建立好的参数对象添加到Command对象的Parameters集合中。(5)为参数对象赋值。(6)执行数据命令。(7)关闭相关对象。,例如,下面的更新语句:“UPDATE course SET cName=Name WHERE cID=ID”其中course是一个课程表,有cID(课程号)和cName(课程名)两个列。该命令是将指定cID的课程记录的cName替换成指定的值。其中ID和Name均为参数,在执行该语句之前需要为参数赋值。,可以使用以下命令向Parameters参数集合中添加参数值:mycmd.Parameters.Add(Name,SqlType.VarChar,10).Value=Name1;mycmd.Parameters.Add(ID,SqlType.VarChar,5).Value=ID1;,【例9.13】设计一个通过SqlCommand 对象求出指定学号学生的平均分的网页WebForm9-4。解:其设计步骤如下:(1)在Myaspnet网站的ch9文件夹中添加一个名称为WebForm9-4的空网页。(2)其设计界面如下图所示,其中包含两个HTML标签、两个文本框(TextBox1和TextBox2)和一个Button控件Button1,将该网页的StyleSheetTheme属性设置为Blue。,网页设计界面,在该网页上设计如下事件过程:,protected void Button1_Click(object sender,EventArgs e)string mystr,mysql;SqlConnection myconn=new SqlConnection();SqlCommand mycmd=new SqlCommand();mystr=Data Source=localhost;Initial Catalog=Stud;+Integrated Security=False;User Id=sa;Password=123456;myconn.ConnectionString=mystr;myconn.Open();mysql=SELECT AVG(分数)FROM score WHERE 学号=no;mycmd.CommandText=mysql;mycmd.Connection=myconn;SqlParameter p1=new SqlParameter(no,SqlDbType.VarChar,5);mycmd.Parameters.Add(p1);();TextBox2.Text=mycmd.ExecuteScalar().ToString();myconn.Close();,网页运行界面,上述代码先建立连接,然后通过ExecuteScalar方法执行SQL命令,通过“no”替换返回指定学号的平均分。运行本网页,输入学号8,单击“求平均分”命令按钮,运行界面如下图所示。,9.3.3 SqlDataReader对象当执行返回结果集的命令时,需要一个方法从结果集中提取数据。处理结果集的方法有两个:(1)使用SqlDataReader对象(数据阅读器);(2)同时使用SqlDataAdapter对象(数据适配器)+DataSet对象。,1.SqlDataReader类的属性和方法,2.创建SqlDataReader对象在ADO.NET中,SqlDataReader类没有提供构造函数。人们通常调用Command类的ExecuteReader方法,这个方法将返回一个DataReader对象。例如,以下代码创建一个SqlDataReader对象myreader:SqlCommand cmd=new SqlCommand(CommandText,ConnectionObject);SqlDataReader myreader=cmd.ExecuteReader();注意:SqlDataReader对象不能使用new来创建。,3.遍历SqlDataReader对象的记录当ExecuteReader方法返回DataReader对象时,当前光标的位置是第一条记录的前面。必须调用SqlDataReader对象的Read方法把光标移动到第一条记录,然后,第一条记录将变成当前记录。如果SqlDataReader对象中包含的记录不止一条,Read方法就返回一个Boolean值true。想要移动到下一条记录,需要再次调用Read方法。重复上述过程,直到最后一条记录,此时Read方法将返回false。经常使用While循环来遍历记录:while(myreader.Read()/读取数据只要Read方法返回的值为true,就可以访问当前记录中包含的字段。,4访问字段中的值(1)Item属性每一个DataReader对象都定义了一个Item属性,此属性返回一个由字段序号或字段名指定的字段值。字段序号总是基于0开始编号的。如:SqlDataReater myreader=mycmd.ExecuteReader();String str1=myreader1;String str2=myreader“Cname”;,(2)Get系列方法每一个DataReader对象都定义了一组Get方法,那些方法将返回适当类型的值。例如,GetInt32方法把返回的字段值作为32位整数,每一个Get方法都以字段序号为参数。例如,:myreader.GetInt320;myreader.GetString1;,【例9.14】设计一个通过SqlDataReader对象在一个列表框中输出所有学生记录的网页WebForm9-5。解:其设计步骤如下:(1)在Myaspnet网站的ch9文件夹中添加一个名称为WebForm9-5的空网页。(2)其设计界面如下图所示,其中包含一个列表框ListBox1(Rows属性设为8)和一个Button控件Button1,将该网页的StyleSheetTheme属性设置为Blue。,网页设计界面,在该网页上设计如下事件过程:,protected void Button1_Click(object sender,EventArgs e)string mystr,mysql;SqlConnection myconn=new SqlConnection();SqlCommand mycmd=new SqlCommand();mystr=Data Source=localhost;Initial Catalog=Stud;+Integrated Security=False;User Id=sa;Password=123456;myconn.ConnectionString=mystr;myconn.Open();mysql=SELECT*FROM student;mycmd.CommandText=mysql;mycmd.Connection=myconn;SqlDataReader myreader=mycmd.ExecuteReader();ListBox1.Items.Add(学号 姓名 性别 民族 班号);ListBox1.Items.Add(=);while(myreader.Read()/循环读取信息ListBox1.Items.Add(String.Format(0 1 2 3 4,myreader0.ToString(),myreader1.ToString(),myreader2.ToString(),myreader3.ToString(),myreader4.ToString();myconn.Close();myreader.Close();,网页运行界面,单击工具栏中的按钮运行本网页,单击“输出所有学生”命令按钮,运行界面如下图所示。,9.3.4 SqlDataAdapter对象SqlDataAdapter对象(数据适配器)可以执行SQL命令以及调用存储过程、传递参数,最重要的是取得数据结果集,在数据库和DataSet对象之间来回传输数据。,数据库,DataSet对象,SqlDataAdapter对象,1.SqlDataAdapter类的属性和方法,2.创建SqlDataAdapter对象SqlDataAdapter类有以下构造函数:SqlDataAdapter();SqlDataAdapter(SqlCommand cmd);SqlDataAdapter(selectCommandText);SqlDataAdapter(selectCommandText,selectConnection);SqlDataAdapter(selectCommandText,selectConnectionString);,例如:string mystr,mysql;SqlConnection myconn=new SqlConnection();mystr=Data Source=localhost;Initial Catalog=Stud;+Integrated Security=False;User Id=sa;Password=123456;myconn.ConnectionString=mystr;myconn.Open();mysql=SELECT*FROM student;SqlDataAdapter myadapter=new SqlDataAdapter(mysql,myconn);myconn.Close();,3.使用Fill方法Fill方法用于向DataSet对象填充从数据源中读取的数据。调用Fill方法的语法格式有多种,常见的格式如下:SqlDataAdapter对象名.Fill(DataSet对象名,数据表名);其中第一个参数是数据集对象名,表示要填充的数据集对象;第二个参数是一个字符串,表示在本地缓冲区中建立的临时表的表名。例如,以下语句用course表数据填充数据集mydataset1:SqlDataAdapter1.Fill(mydataset1,course);,4.使用Update方法Update方法用于将数据集DataSet对象中的数据按InsertCommand属性、DeleteCommand属性和UpdateCommand属性所指定的要求更新数据源,即调用3个属性中所定义的SQL语句来更新数据源。Update方法常见的调用格式如下。SqlDataAdapter对象名.Update(DataSet对象名,数据表名);其中第一个参数是数据集对象名,表示要将哪个数据集对象中的数据更新到数据源中;第二个参数是一个字符串,表示临时表的名称。,9.4 DataSet对象DataSet是ADO.NET数据库访问组件的核心,主要是用来支持ADO.NET的不连贯连接及数据分布。它的数据驻留内存,可以保证和数据源无关的一致性的关系模型,并用于多个异种数据源的数据操作。9.4.1 DataSet对象概述,创建DataSet对象有多种方法:设计工具也可以使用程序代码来创建DataSet对象。使用程序代码创建DataSet对象的语法格式如下:DataSet 对象名=new DataSet();或DataSet 对象名=new DataSet(dataSetName);其中,dataSetName为一个字符串,用于指出DataSet的名称。,DataTable对象,9.4.2 Dataset对象的属性和方法,DataSet,Tables:DataTable集合,DataTable对象,Columns:DataColumn集合,Rows:DataRow集合,DataTable对象,DataColumn对象,DataTable对象,DataRow对象,9.4.3 Tables集合和DataTable对象DataSet对象的Tables属性由表组成,每个表是一个DataTable对象。实际上,每一个DataTable对象代表了数据库中的一个表,每个DataTable数据表都由相应的行和列组成。可以通过索引来引用Tables集合中的一个表,例如,Tablesi表示第i个表,其索引值从0开始编号。,1.Tables集合的属性和方法,2.DataTable对象一个DataTable对象包含一个Columns属性即列集合,和一个Rows属性即行集合。,3.建立包含在DataSet中的表建立包含在数据集中的表的方法主要有以下两种。(1)利用SqlDataAdapter的Fill方法自动建立DataSet中的DataTable对象先通过SqlDataAdapter对象从数据源中提取记录数据,然后调用其Fill方法,将所提取的记录存入DataSet中对应的表内,如果DataSet中不存在对应的表,Fill方法会先建立表再将记录填入其中。例如,以下语句向DataSet对象myds中添加一个表course及其包含的数据记录:DataSet myds=new DataSet();SqlDataAdapter myda=new SqlDataAdapter(SELECT*From course,myconn);myda.Fill(myds,course);,(2)将建立的DataTable对象添加到DataSet中(较少适用)先建立DataTable对象,然后调用DataSet的表集合属性Tables的Add方法

    注意事项

    本文(ADONET数据访问技术.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开