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

下载本文档

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

文档简介

软件学院夏克付,数据库应用程序设计,第六讲,接口是指前台程序和后台数据库的连接部分。,接口的概念,ODBC(OpenDataBaseConnectivity,开放式数据库互连):只能访问关系型数据。OLEDB(ObjectLinkingandEmbeddingDataBase,数据库对象的链接与嵌入):系统级编程接口,可以访问所有类型的数据。,一、数据库访问接口,ADO(ActiveXDataObjects,ActiveX数据对象):应用程序级编程接口,可以访问所有类型的数据。ADO.NET:ADO的升级版本,是.NET平台采用的数据库访问接口。,一、数据库访问接口,ADO.NET是一些.NETFramework类库中与数据库访问有关的类的集合,它是一种可以使程序员快速、高效地利用.NET开发出数据库应用程序的技术。其体系结构如下:,ADO.NET的体系结构,二、ADO.NET概述,从ADO.NET的体系结构可以看出,ADO.NET包括两大部分:数据提供者和DataSet(数据集)。,数据提供者也称为.NETFramework数据提供程序,包括一系列用于连接到数据库、执行命令和检索结果等类。(1)核心对象,二、ADO.NET概述,二、ADO.NET概述,(2)数据提供程序种类,二、ADO.NET概述,DataSet对象又称为数据集对象,是支持ADO.NET的断开式、分布式数据方案的核心对象,是ADO.NET技术的精髓。DataSet是数据的内存驻留表示形式,可以将其理解为内存中的数据库。DataSet对象包含一个或多个DataTable(数据表)对象的集合,这些对象由数据行(DataRow)和数据列(DataColumn),以及有关DataTable对象中数据的主键、外键、约束和关系信息组成。其结构如下:,DataSet对象,二、ADO.NET概述,二、ADO.NET概述,特点:客户机一直保持和数据库服务器的连接。适用环境:适合数据传输量少、系统规模不大、客户机和服务器在同一网络内的环境。连接模式下数据访问的步骤,连接模式,三、ADO.NET数据库访问模式,(1)使用Connection对象连接数据库;(2)使用Command对象执行数据访问命令;(3)使用DataReader对象访问数据;(4)访问完毕后,关闭DataReader对象和Connection对象。,特点:客户机操作数据时可以断开和数据库服务器的连接。适用环境:适合网络数据量大、系统节点多、网络结构复杂,尤其是通过Internet进行连接的网络。断开连接模式下数据访问的步骤(1)使用Connection对象连接数据库;(2)使用Command对象设置数据访问命令;(3)使用DataAdapter对象访问数据并填充到DataSet对象中;,断开连接模式,三、ADO.NET数据库访问模式,(4)在DataSet对象中执行数据的各种操作。(5)使用DataAdapter对象更新数据库。,三、ADO.NET数据库访问模式,声明并创建Connection对象格式:*Connection对象名=new*Connection(连接信息);(1)连接到SQLServer数据库的连接信息设置采用WindowsNT集成身份验证“Server=服务器名;IntegratedSecurity=SSPI;Database=数据库名”采用SQLServer身份验证“Server=服务器名;UID=登录名;PWD=密码;Database=数据库名”注意:连接到SQLServer数据库一般使用SQLServer数据提供程序的SqlConnection对象,以上连接信息是针对该连接对象而设置的。,使用Connection对象连接数据库,四、使用连接模式访问数据库,(2)连接到Access数据库的连接信息设置“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=数据库文件名注意:连接到Access数据库一般使用OLEDB数据提供程序的OleDbConnection对象,以上连接信息是针对该连接对象而设置的。例:采用WindowsNT集成身份验证方式连接到SQLServer数据库。stringstrCnn=“Server=localhost;IntegratedSecurity=SSPI;Database=Student”;SqlConnectionsqlCnn=newSqlConnection(strCnn);,四、使用连接模式访问数据库,使用Connection对象连接到数据库格式:对象名.Open();例:sqlCnn.Open();说明:关闭连接对象使用如下格式:对象名.Close();,例如sqlCnn.Close();,四、使用连接模式访问数据库,声明并创建Command对象格式一:SqlCommand对象名=newSqlCommand(命令字符串,连接对象);格式二:SqlCommand对象名=newSqlCommand();设置Command对象的属性Connection:设置该实例的连接对象;CommandType:设置该实例的命令类型,有三种:一般SQL语句类型CommandType.Text、存储过程类型CommandType.StoredProcedure和表类型CommandType.TableDirect;CommandText:可以是SQL语句、存储过程名和表名;,使用Command对象访问数据库中数据,四、使用连接模式访问数据库,例1:stringsql=select*fromstudent;SqlCommandsqlCmd=newSqlCommand(sql,sqlCnn);例2:stringsql=select*fromstudent;SqlCommandsqlCmd=newSqlCommand();sqlCmd.Connection=sqlCnn;sqlCmd.CommandType=CommandType.Text;sqlCmd.CommandText=sql;,四、使用连接模式访问数据库,使用Command对象执行命令格式一:返回SqlDataReader对象,并通过该对象访问执行结果。一般在执行查询命令时使用该格式。SqlDataReader对象名=命令对象名.ExecuteReader();或SqlDataReader对象名=命令对象名.ExecuteReader(CommandBehavior.CloseConnection);格式二:返回受影响的行数。一般在执行插入、更新语句或不返回结果集的存储过程时使用该格式。命令对象名.ExecuteNonQuery();格式三:返回结果集中的第一行第一列的值,忽略其他行或列,一般在执行统计查询时使用该格式。命令对象名.ExecuteScalar();,四、使用连接模式访问数据库,例如:SqlDataReadersqlDr=sqlCmd.ExecuteReader();Command对象的高级使用:带参数的命令命令参数的格式:SQLServer的数据提供程序使用命令参数(前面冠以符号)指定参数;OLEDB的数据提供程序使用问号(?)指定参数。向Command对象添加参数的格式:SqlParameter参数对象名=命令对象名.Parameters.Add(“参数名”,参数类型,参数大小);参数对象名.Direction=参数方向(输入/输出/双向/返回值参数);参数对象名.Value=参数值;,四、使用连接模式访问数据库,例如:stringstrSql=select*fromstudentwhere姓名=name;SqlCommandsqlCmd=newSqlCommand(strSql,sqlCnn);SqlParameterparaName=sqlCmd.Parameters.Add(name,SqlDbType.NVarChar,10);paraName.Direction=ParameterDirection.Input;paraName.Value=lstName.Text;注:OLEDB的数据提供程序的参数在添加时必须与参数定义的顺序一致,SQLServer的数据提供程序则不作要求,但也最好一致。,四、使用连接模式访问数据库,四、使用连接模式访问数据库,获取SqlDataReader对象通过Command对象ExecuteReader()方法获取。使用格式同前述。注意:不能使用new关键字创建SqlDataReader对象。SqlDataReader对象的主要属性与方法FieldCount属性:获取当前行中的列数;GetString方法:获取指定字段的字符串类型的值;Close方法:关闭SqlDataReader对象。,四、使用连接模式访问数据库,Read方法:前进到下一条记录。若该记录存在,则返回true,否则返回false;注意:SqlDataReader对象记录指针的默认位置在第一条记录前面,因此,必须调用Read方法从第一条记录开始读取数据。使用SqlDataReader对象读取数据格式:GetString(字段序号)或对象名“字段名”或对象名字段序号,四、使用连接模式访问数据库,例如:SqlDataReadersqlDr=sqlCmd.ExecuteReader();if(sqlDr.Read()textBox1.Text=sqlDr姓名.ToString();textBox1.Text=sqlDr.GetString(1);,DataSet(数据集)对象:内存中的数据库;DataTable(数据表)对象:内存中的数据表,可以独立存在;DataRow(数据行)对象:设置数据表中的行;DataColumn(数据列)对象:设置数据表中的列;DataView(数据视图)对象:提供界面显示的数据,该数据来自数据表。该对象支持数据筛选

温馨提示

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

评论

0/150

提交评论