c#数据库应用程序设计

上传人:今*** 文档编号:106063630 上传时间:2019-10-14 格式:PPT 页数:24 大小:831KB
返回 下载 相关 举报
c#数据库应用程序设计_第1页
第1页 / 共24页
c#数据库应用程序设计_第2页
第2页 / 共24页
c#数据库应用程序设计_第3页
第3页 / 共24页
c#数据库应用程序设计_第4页
第4页 / 共24页
c#数据库应用程序设计_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《c#数据库应用程序设计》由会员分享,可在线阅读,更多相关《c#数据库应用程序设计(24页珍藏版)》请在金锄头文库上搜索。

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

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

3、.NET的断开式、分布式数据方案的核心对象,是ADO.NET技术的精髓。DataSet是数据的内存驻留表示形式,可以将其理解为内存中的数据库。 DataSet对象包含一个或多个DataTable(数据表)对象的集合,这些对象由数据行(DataRow)和数据列(DataColumn),以及有关DataTable对象中数据的主键、外键、约束和关系信息组成。其结构如下:,DataSet 对象,二、ADO.NET概述,二、ADO.NET概述,特点:客户机一直保持和数据库服务器的连接。 适用环境:适合数据传输量少、系统规模不大、客户机和服务器在同一网络内的环境。 连接模式下数据访问的步骤,连接模式,三、

4、ADO.NET数据库访问模式,(1)使用Connection对象连接数据库; (2)使用Command对象执行数据访问命令; (3)使用DataReader对象访问数据; (4)访问完毕后,关闭DataReader对象和Connection对象。,特点:客户机操作数据时可以断开和数据库服务器的连接。 适用环境:适合网络数据量大、系统节点多、网络结构复杂,尤其是通过Internet进行连接的网络。 断开连接模式下数据访问的步骤 (1)使用Connection对象连接数据库; (2)使用Command对象设置数据访问命令; (3)使用DataAdapter对象访问数据并填充到DataSet对象中;

5、,断开连接模式,三、ADO.NET数据库访问模式,(4)在DataSet对象中执行数据的各种操作。 (5)使用DataAdapter对象更新数据库。,三、ADO.NET数据库访问模式,声明并创建Connection对象 格式:*Connection 对象名=new *Connection(连接信息); (1)连接到SQL Server 数据库的连接信息设置 采用Windows NT集成身份验证 “Server=服务器名;Integrated Security=SSPI;Database=数据库名” 采用SQL Server身份验证 “Server=服务器名;UID=登录名;PWD=密码;Dat

6、abase=数据库名” 注意:连接到SQL Server 数据库一般使用SQL Server数据提供程序的SqlConnection对象,以上连接信息是针对该连接对象而设置的。,使用Connection对象连接数据库,四、使用连接模式访问数据库,(2)连接到Access数据库的连接信息设置 “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库文件名“ 注意:连接到Access数据库一般使用OLE DB数据提供程序的OleDbConnection对象,以上连接信息是针对该连接对象而设置的。 例:采用Windows NT集成身份验证方式连接到SQL S

7、erver 数据库。 string strCnn=“Server=localhost;Integrated Security=SSPI;Database=Student”; SqlConnection sqlCnn = new SqlConnection(strCnn);,四、使用连接模式访问数据库,使用Connection对象连接到数据库 格式:对象名.Open(); 例: sqlCnn.Open(); 说明:关闭连接对象使用如下格式:对象名.Close();,例如sqlCnn.Close();,四、使用连接模式访问数据库,声明并创建Command对象 格式一: SqlCommand 对象名

8、=new SqlCommand(命令字符串,连接对象); 格式二: SqlCommand 对象名=new SqlCommand(); 设置Command对象的属性 Connection:设置该实例的连接对象; CommandType:设置该实例的命令类型,有三种:一般SQL语句类型CommandType.Text、存储过程类型CommandType.StoredProcedure和表类型CommandType.TableDirect; CommandText:可以是SQL语句、存储过程名和表名;,使用Command对象访问数据库中数据,四、使用连接模式访问数据库,例1: string sql=

9、“select * from student“; SqlCommand sqlCmd=new SqlCommand(sql,sqlCnn); 例2: string sql=“select * from student“; SqlCommand sqlCmd=new SqlCommand(); sqlCmd.Connection=sqlCnn; sqlCmd.CommandType=CommandType.Text; sqlCmd.CommandText=sql;,四、使用连接模式访问数据库,使用Command对象执行命令 格式一:返回SqlDataReader对象,并通过该对象访问执行结果。一

10、般在执行查询命令时使用该格式。 SqlDataReader 对象名=命令对象名.ExecuteReader(); 或 SqlDataReader 对象名=命令对象名.ExecuteReader(CommandBehavior.CloseConnection); 格式二:返回受影响的行数。一般在执行插入、更新语句或不返回结果集的存储过程时使用该格式。 命令对象名.ExecuteNonQuery(); 格式三:返回结果集中的第一行第一列的值,忽略其他行或列,一般在执行统计查询时使用该格式。 命令对象名.ExecuteScalar();,四、使用连接模式访问数据库,例如: SqlDataReader

11、 sqlDr=sqlCmd.ExecuteReader(); Command对象的高级使用:带参数的命令 命令参数的格式: SQL Server 的数据提供程序使用命令参数(前面冠以符号)指定参数; OLE DB的数据提供程序使用问号(?)指定参数。 向Command对象添加参数的格式: SqlParameter 参数对象名=命令对象名.Parameters.Add(“参数名”,参数类型,参数大小); 参数对象名.Direction =参数方向(输入/输出/双向/返回值参数); 参数对象名. Value =参数值;,四、使用连接模式访问数据库,例如: string strSql = “sele

12、ct * from student where 姓名=name“; SqlCommand sqlCmd=new SqlCommand(strSql, sqlCnn); SqlParameter paraName= sqlCmd.Parameters.Add (“name“,SqlDbType.NVarChar,10); paraName.Direction=ParameterDirection.Input; paraName.Value = lstName.Text; 注:OLE DB的数据提供程序的参数在添加时必须与参数定义的顺序一致, SQL Server的数据提供程序则不作要求,但也最好

13、一致。,四、使用连接模式访问数据库,四、使用连接模式访问数据库,获取SqlDataReader对象 通过Command对象ExecuteReader()方法获取。使用格式同前述。 注意:不能使用new关键字创建SqlDataReader对象。 SqlDataReader对象的主要属性与方法 FieldCount属性:获取当前行中的列数; GetString方法:获取指定字段的字符串类型的值; Close方法:关闭SqlDataReader对象。,四、使用连接模式访问数据库,Read方法:前进到下一条记录。若该记录存在,则返回true,否则返回false; 注意:SqlDataReader对象记

14、录指针的默认位置在第一条记录前面,因此,必须调用Read方法从第一条记录开始读取数据。 使用SqlDataReader对象读取数据 格式: GetString(字段序号) 或 对象名“字段名” 或 对象名字段序号,四、使用连接模式访问数据库,例如: SqlDataReader sqlDr=sqlCmd.ExecuteReader(); if(sqlDr.Read() textBox1.Text=sqlDr“姓名“.ToString(); textBox1.Text=sqlDr.GetString(1); ,DataSet(数据集)对象:内存中的数据库; DataTable(数据表)对象:内存中

15、的数据表,可以独立存在; DataRow(数据行)对象:设置数据表中的行; DataColumn(数据列)对象:设置数据表中的列; DataView(数据视图)对象:提供界面显示的数据,该数据来自数据表。该对象支持数据筛选; DataRelation(关系)对象:设置数据表间的关系; Constraint对(约束)对象:设置数据表间的约束; BindingSource (绑定源)对象:是内存中的数据源和控件间的桥梁,用于实现数据绑定; DataAdapter(数据适配器)对象:是远程数据源与DataSet间的桥梁; CommandBuilder(命令生成器)对象:根据用户进行的操作自动生成相应的命令。,与本连接模式有关的对象:,四、使用断开连接模式访问数据库,

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

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

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