《数据库应用》PPT课件.ppt_第1页
《数据库应用》PPT课件.ppt_第2页
《数据库应用》PPT课件.ppt_第3页
《数据库应用》PPT课件.ppt_第4页
《数据库应用》PPT课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第八章 数据库应用,大多数应用程序都需要和数据库交互。同其他.NET开发语言一样,在C# 语言中对数据库的访问是通过.NET框架中的ADO.NET来实现的。ADO.NET是重要的应用程序级接口,用于在Microsoft.NET平台上提供数据访问服务,本章将详细介绍ADO.NET的原理与结构,以及在C# 应用程序中如何使用ADO.NET。,一、数据库概述,数据库是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。 关系数据库是以关系模型来组织的。关系模型中数据的逻辑结构是一张二维表,它由行和列组成。例如,表8.1是在“学生信息管理系统”中使用的一个Students表,用来描述学生的属性。,二、ADO.NET概述,1、ADO.NET基本概念与特点 ADO.NET比现有API在技术上高出很多。它与ADO仅仅是名称类似,类和访问数据的方法则完全不同。 ADO.NET是微软新一代.NET数据库的存取结构,提供访问数据库系统的API。 ADO.NET是基于.NET构架的Active Data Objects(ADO)的扩充,主要提供一个面向对象的数据存取架构,用来开发数据库应用程序。是目前开发数据库应用程序的主要接口。,2、ADO.NET是应用程序和数据源之间沟通的桥梁。 通过ADO.NET提供的对象,再配合SQL语法,就可以存取数据库内的数据了,而且凡是通过ODBC或OLEDB接口所能存取的数据库(如:Database、FoxPro、Excel、Access、SQL Server、Oracle等),都可通过ADO.NET对象来存取。,三、 ADO.NET模型,1、 ADO.NET架构的组成 .NET数据提供程序(.NET Data Provider) DataSet对象 1)DataSet对象 (1)什么是DataSet DataSet(数据集)是ADO.NET数据存取结构中的核心对象,它是一个内存数据库。 (2) DataSet中有什么 DataSet内部存放了一个或多个不同的数据表(DataTable)对象。这些数据表是由数据记录和数据字段组成的,并包含主键、外键、数据表之间的关联(Relation)信息以及数据格式的条件限制(Constraint),三、 ADO.NET模型,(3)DataSet可实现的功能 DataSet提供方法对数据集中表数据进行浏览、编辑、排序、过滤或建立视图(View)。 (4) DataSet如何和数据库进行数据交换,三、 ADO.NET模型,2) .NET数据提供程序(.NET Data Provider) (1)什么是.NET数据提供程序 .NET为每一种数据源提供了一组包含四个对象的数据组件。每一组对象都是针对特定的数据源,这就是所谓的“数据提供程序” (.NET Data Provider) (2)数据提供程序分类 SQL Server .NET Framework数据提供程序(访问SQL Server 7.0以上数据库) OLE DB .NET Framework数据提供程序(访问OLE数据源或SQL Server 6.5或更前的版本) ODBC .NET Framework数据提供程序 Oracle .NET Framework数据提供程序,三、 ADO.NET模型,(3)四个数据库客户命名空间 using System.Data.OleDb; using System.Data.SqlClient; using System.Data.Odbc; using System.Data.OracleClient;,三、 ADO.NET模型,(4) ADO.NET模型,三、 ADO.NET模型,(5)访问数据源的四个常用组件,四、连接数据库,1、Connection对象 Connection对象负责建立和管理与底层数据源的连接。通过Connection对象可以完成以下工作:建立数据库连接、查看数据库连接状态、断开数据库连接等操作 2、Connection对象的分类 SqlConnection对象(连接SQL 7.0以上版本数据源) OleDbConnection对象(连接OLE DB数据源) OdbcConnection对象 OracleConnection对象 3、使用SqlConnection和OleDbConnection对象连接数据库 创建SqlConnection对象 SqlConnection conn = new SqlConnection(connStr); 创建OleDbConnection对象 OleDbConnection conn=new OleDbConnection(connStr);,四、连接数据库,4、Connection对象的主要属性 ConnectionString属性 通常包括以下参数: 1)连接SQL 7.0以上版本的SQL数据库,ConnectionString属性通常包括以下参数: Data Source(Server): 设置需连接的数据库服务器名。 Initial Catalog(database):设置连接的数据库名称。 Integrated Security:服务器的安全性设置,是否使用信任连接。 Workstation Id: 数据库客户端标识。 Packet Size:获取与SQL Server通信的网络数据包的大小,单位为字节。 User ID(Uid):登录SQL Server的帐号。 Password(Pwd):登录SQL Server的密码。 Connection Timeout:设置SqlConnection对象连接SQL数据库服务器的超时时间。 注:各参数之间以“;”分隔。 2)连接OLE DB数据源,ConnectionString属性通常包括以下参数: Provider: 设置数据源的OLE DB驱动程序。 Data Source: 设置数据源的实际路径。 Password: 设置登录数据库时所使用的密码。 User ID: 设置登录数据库时所使用的帐号。,四、连接数据库,四、连接数据库,5、Connection对象的主要方法,四、连接数据库,例:打开与SQL数据库XSCJ的连接 using System.Data.OleDb; private void button1_Click(object sender, System.EventArgs e) SqlConnection conn=new SqlConnection(); conn.ConnectionString=“Data Source=(local);initial catalog=XSCJ;Uid=sa;Password=“; try conn.Open(); MessageBox.Show(“连接成功!“,“提示“); catch MessageBox.Show(“连接错误!“,“提示“); finally conn.Close(); ,五、使用Command对象,1、Command对象简介 Command对象根据程序员所设置的SQL语句对数据库进行操作。 作为数据提供程序的一部分,Command对象对应着特定的数据源:如System.Data.OleDb命名空间中的OleDbCommand,以及System.Data.SqlClient命名空间中的SqlCommand。,五、使用Command对象,2、 Command对象的建立 创建SqlCommand对象 SqlCommand cmd = new SqlCommand(); 创建OleDbCommand对象 OleDbCommand cmd=new OleDbCommand ();,五、使用Command对象,3、 Command对象的属性 Command对象较为重要的几个属性。 (1)CommandText属性是字符串属性,包含要执行的SQL语句或数据源中存储过程的名字; (2)Connection属性指定要执行数据命令的连接对象,即指定要执行数据操作的数据源; (3)Transaction属性指定执行数据命令登记的事务对象。,五、使用Command对象,4、执行命令的相关方法,五、使用Command对象,例:删除XS表中“李明”同学的资料 private void button1_Click(object sender, System.EventArgs e) SqlConnection conn=new SqlConnection(); conn.ConnectionString=“Data Source=(local);Initial Catalog=XSCJ;Uid=sa;Password=“; conn.Open(); SqlCommand cmd=new SqlCommand(“delete from XS where xm=李明“,conn); cmd.ExecuteNonQuery(); MessageBox.Show(“删除成功!“); conn.Close(); ,六、使用DataReader对象,1、DataReader对象 DataReader对象是用来访问数据的简单方式,只能读取数据,不能写入数据,并且只能顺序读取数据,即将数据表中的行从头到尾依次顺序读出。 DataReader被创建时,记录指针在表的最前端,可使用Read()方法每次从表中读出一条记录。,六、使用DataReader对象,2、 DataReader对象的属性,六、使用DataReader对象,3、 DataReader对象的方法,六、使用DataReader对象,4、使用DataReader对象访问数据的步骤 使用Connection对象创建数据连接。 使用Command对象的ExecuteReader()方法执行SQL查询或存储过程,创建DataReader对象。 成功创建该对象后,可使用其属性和方法访问数据。,六、使用DataReader对象,例:使用SqlDataReader读取XS表中学号和姓名 private void button1_Click(object sender, System.EventArgs e) SqlConnection conn=new SqlConnection(); conn.ConnectionString=“Data Source=(local);Initial Catalog=XSCJ;Uid=sa;Password=“; conn.Open(); SqlCommand cmd=new SqlCommand(“select * from XS“,conn); SqlDataReader readxs=cmd.ExecuteReader(); while(readxs.Read() listBox1.Items.Add(readxs“XH“+“ “+readxs“XM“); MessageBox.Show(“读取完毕!“,“提示“); conn.Close(); ,ADO.NET 模型,七、使用DataAdapter对象与DataSet对象,1、什么是DataAdapter对象 DataAdapter对象是用来传递各种SQL命令,并将命令执行结果填入DataSet对象。并且DataAdapter对象还可以将数据集(DataSet)对象更改过的数据写回数据源。它是数据库与DataSet对象之间沟通的桥梁,通过数据集访问数据库是ADO.NET模型的主要方式 创建SqlDataAdapter对象 SqlDataAdapter 对象名 = new SqlDataAdapter (SQL命令,连接名); 创建OleDbDataAdapter对象 OleDbDataAdapter 对象名=new OleDbDataAdapter (SQL命令,连接名); 例: SqlDataAdapter da = new SqlDataAdapter (“select * from XS”,conn);,七、使用DataAdapter对象与DataSet对象,2、DataSet对象 1)什么是DataSet对象 DataSet对象是一个内存数据库。 DataSet对象中可以包含多个数据表,在程序中动态地产生数据表,数据表可来自数据库、文件、或XML数据。DataSet对象还包括主键、外键和约束等信息。DataSet对象提供方法对数据集中表数据进行浏览、编辑、排序或建立视图。 2)建立DataSet对象 例:DataSet ds=new DataSet( );,七、使用DataAdapter对象与DataSet对象,3) DataSet对象模型,七、使用DataAdapter对象与DataSet对象,3、利用DataAdapter对象向DataSet对象传递数据 DataAdapter对象提供的方法,例: private void SearchForm_Load(object sender, System.EventArgs e) string connStr=“Data Source=(local);Initial CataLog=XSCJ;User ID=sa;Password=“; string _sql=“select XH as 学号,XM as 姓名,ZYM as 专业,XB as 性别,“ + “CSSJ

温馨提示

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

评论

0/150

提交评论