C#数据库应用程序设计课件(PPT 24页)_第1页
C#数据库应用程序设计课件(PPT 24页)_第2页
C#数据库应用程序设计课件(PPT 24页)_第3页
C#数据库应用程序设计课件(PPT 24页)_第4页
C#数据库应用程序设计课件(PPT 24页)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、软件学院 夏克付数据库应用程序设计第六讲第1页,共24页。接口是指前台程序和后台数据库的连接部分。接口的概念12主要的数据库访问接口ODBC(Open DataBase Connectivity,开放式数据库互连):只能访问关系型数据。OLE DB(Object Linking and Embedding DataBase,数据库对象的链接与嵌入):系统级编程接口,可以访问所有类型的数据 。一、数据库访问接口第2页,共24页。ADO(ActiveX Data Objects,ActiveX数据对象):应用程序级编程接口,可以访问所有类型的数据。ADO.NET:ADO的升级版本,是.NET平台采

2、用的数据库访问接口。一、数据库访问接口第3页,共24页。ADO.NET是一些.NET Framework类库中与数据库访问有关的类的集合,它是一种可以使程序员快速、高效地利用.NET开发出数据库应用程序的技术。其体系结构如下:ADO.NET的体系结构1二、ADO.NET概述第4页,共24页。从ADO.NET的体系结构可以看出,ADO.NET包括两大部分:数据提供者和DataSet(数据集)。2数据提供者数据提供者也称为.NET Framework 数据提供程序,包括一系列用于连接到数据库、执行命令和检索结果等类。(1)核心对象二、ADO.NET概述第5页,共24页。二、ADO.NET概述对象名

3、称功能描述Connection数据库连接对象,建立与数据库的连接Command命令对象,执行数据访问命令的对象DataReader数据读取器对象,读取数据源中只读、向前的数据DataAdapter数据适配器对象,读取数据源数据填充数据集对象DataSet第6页,共24页。(2)数据提供程序种类二、ADO.NET概述数据提供程序命名空间核心对象说明用于 SQL Server 的数据提供程序System.Data.SqlClientSqlConnectionSqlCommandSqlDataReaderSqlDataAdapter提供对 Microsoft SQL Server 7.0 或更高版本

4、中数据的访问。用于OLE DB的数据提供程序System.Data.OleDbOleDbConnectionOleDbCommandOleDbDataReaderOleDbDataAdapter提供对使用OLE DB 公开的数据源中数据的访问用于 ODBC 的数据提供程序System.Data.OdbcOdbcConnectionOdbcCommandOdbcDataReaderOdbcDataAdapter提供对使用 ODBC 公开的数据源中数据的访问用于 Oracle 的数据提供程序System.Data.OracleClientOracleConnectionOracleCommandO

5、racleDataReaderOracleDataAdapter适用于 Oracle 数据源第7页,共24页。DataSet对象又称为数据集对象,是支持ADO.NET的断开式、分布式数据方案的核心对象,是ADO.NET技术的精髓。DataSet是数据的内存驻留表示形式,可以将其理解为内存中的数据库。DataSet对象包含一个或多个DataTable(数据表)对象的集合,这些对象由数据行(DataRow)和数据列(DataColumn),以及有关DataTable对象中数据的主键、外键、约束和关系信息组成。其结构如下:DataSet 对象二、ADO.NET概述33第8页,共24页。二、ADO.N

6、ET概述第9页,共24页。特点:客户机一直保持和数据库服务器的连接。适用环境:适合数据传输量少、系统规模不大、客户机和服务器在同一网络内的环境。连接模式下数据访问的步骤连接模式1三、ADO.NET数据库访问模式(1)使用Connection对象连接数据库;(2)使用Command对象执行数据访问命令;(3)使用DataReader对象访问数据;(4)访问完毕后,关闭DataReader对象和Connection对象。第10页,共24页。特点:客户机操作数据时可以断开和数据库服务器的连接。适用环境:适合网络数据量大、系统节点多、网络结构复杂,尤其是通过Internet进行连接的网络。断开连接模式

7、下数据访问的步骤(1)使用Connection对象连接数据库;(2)使用Command对象设置数据访问命令;(3)使用DataAdapter对象访问数据并填充到DataSet对象中;断开连接模式三、ADO.NET数据库访问模式2第11页,共24页。(4)在DataSet对象中执行数据的各种操作。(5)使用DataAdapter对象更新数据库。三、ADO.NET数据库访问模式第12页,共24页。声明并创建Connection对象格式:*Connection 对象名=new *Connection(连接信息);(1)连接到SQL Server 数据库的连接信息设置 采用Windows NT集成身份

8、验证“Server=服务器名;Integrated Security=SSPI;Database=数据库名” 采用SQL Server身份验证“Server=服务器名;UID=登录名;PWD=密码;Database=数据库名”注意:连接到SQL Server 数据库一般使用SQL Server数据提供程序的SqlConnection对象,以上连接信息是针对该连接对象而设置的。使用Connection对象连接数据库1四、使用连接模式访问数据库第13页,共24页。(2)连接到Access数据库的连接信息设置“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=

9、数据库文件名注意:连接到Access数据库一般使用OLE DB数据提供程序的OleDbConnection对象,以上连接信息是针对该连接对象而设置的。例:采用Windows NT集成身份验证方式连接到SQL Server 数据库。string strCnn=“Server=localhost;Integrated Security=SSPI;Database=Student”;SqlConnection sqlCnn = new SqlConnection(strCnn);四、使用连接模式访问数据库第14页,共24页。使用Connection对象连接到数据库格式:对象名.Open();例: s

10、qlCnn.Open();说明:关闭连接对象使用如下格式:对象名.Close();,例如sqlCnn.Close();四、使用连接模式访问数据库第15页,共24页。声明并创建Command对象格式一: SqlCommand 对象名=new SqlCommand(命令字符串,连接对象);格式二: SqlCommand 对象名=new SqlCommand();设置Command对象的属性Connection:设置该实例的连接对象;CommandType:设置该实例的命令类型,有三种:一般SQL语句类型CommandType.Text、存储过程类型CommandType.StoredProcedu

11、re和表类型CommandType.TableDirect;CommandText:可以是SQL语句、存储过程名和表名;使用Command对象访问数据库中数据四、使用连接模式访问数据库2第16页,共24页。例1: string sql=select * from student; SqlCommand sqlCmd=new SqlCommand(sql,sqlCnn);例2: string sql=select * from student; SqlCommand sqlCmd=new SqlCommand(); sqlCmd.Connection=sqlCnn; sqlCmd.Command

12、Type=CommandType.Text; sqlCmd.CommandText=sql;四、使用连接模式访问数据库第17页,共24页。使用Command对象执行命令格式一:返回SqlDataReader对象,并通过该对象访问执行结果。一般在执行查询命令时使用该格式。 SqlDataReader 对象名=命令对象名.ExecuteReader();或SqlDataReader 对象名=命令对象名.ExecuteReader(CommandBehavior.CloseConnection);格式二:返回受影响的行数。一般在执行插入、更新语句或不返回结果集的存储过程时使用该格式。命令对象名.Ex

13、ecuteNonQuery();格式三:返回结果集中的第一行第一列的值,忽略其他行或列,一般在执行统计查询时使用该格式。命令对象名.ExecuteScalar();四、使用连接模式访问数据库第18页,共24页。例如:SqlDataReader sqlDr=sqlCmd.ExecuteReader();Command对象的高级使用:带参数的命令命令参数的格式:SQL Server 的数据提供程序使用命令参数(前面冠以符号)指定参数;OLE DB的数据提供程序使用问号(?)指定参数。向Command对象添加参数的格式: SqlParameter 参数对象名=命令对象名.Parameters.Add

14、(“参数名”,参数类型,参数大小); 参数对象名.Direction =参数方向(输入/输出/双向/返回值参数); 参数对象名. Value =参数值;四、使用连接模式访问数据库第19页,共24页。例如:string strSql = select * from student where 姓名=name; SqlCommand sqlCmd=new SqlCommand(strSql, sqlCnn); SqlParameter paraName= sqlCmd.Parameters.Add (name,SqlDbType.NVarChar,10); paraName.Direction=P

15、arameterDirection.Input; paraName.Value = lstName.Text;注:OLE DB的数据提供程序的参数在添加时必须与参数定义的顺序一致, SQL Server的数据提供程序则不作要求,但也最好一致。四、使用连接模式访问数据库第20页,共24页。四、使用连接模式访问数据库使用DataReader对象读取数据33获取SqlDataReader对象通过Command对象ExecuteReader()方法获取。使用格式同前述。注意:不能使用new关键字创建SqlDataReader对象。SqlDataReader对象的主要属性与方法FieldCount属性:

16、获取当前行中的列数;GetString方法:获取指定字段的字符串类型的值;Close方法:关闭SqlDataReader对象。 第21页,共24页。四、使用连接模式访问数据库Read方法:前进到下一条记录。若该记录存在,则返回true,否则返回false; 注意:SqlDataReader对象记录指针的默认位置在第一条记录前面,因此,必须调用Read方法从第一条记录开始读取数据。使用SqlDataReader对象读取数据格式: GetString(字段序号) 或对象名“字段名” 或 对象名字段序号 第22页,共24页。四、使用连接模式访问数据库例如: SqlDataReader sqlDr=sqlCmd.ExecuteReader(); if(sqlDr.Read() textBox1.Text=sqlDr姓名.ToString(); textBox1.Text=sqlDr.GetString(1); 第23页,共24页。DataSet(数据集)对象:内存中的数据库;DataTable(数据表)对象:内存中的数据表,可以独立存在;DataRow(数据行)对象:设置数据表中的行;DataColumn(数据列)对象:设置数据表中的列;DataVi

温馨提示

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

评论

0/150

提交评论