版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ADO. NET数据库编程1、ADO. NET的相关概念。Microsoft的新一代技术,是ADO组件的后继者。主要目的是在.NET Framework平 台存取数据。提供一致的对象模型,可以存取和编辑各种数据源的数据,即对这些数据源,提供了 一致的数据处理方式。ADO. NET保存和传递数据是使用XML格式。可实现与其他平台应用程序以XML文件进 行数据交换。2、数据访问类库的名称空间针对不同的数据源,使用不同名称空间的数据访问类库,即数据提供程序。常用的数 据源包括四种:Microsoft SQL Server 数据源:使用 System. Data. SqlClient 名称空间。OLE
2、DB 数 据源:使用System. Data. OleDb名称空间。ODBC数据源:使用System. Data. Odbc名称空 间。Oracle 数据源:使用 System. Data. OracleClient 名称空间要使用ADO.NET来访问数据库,需要将相应的名称空间导入到应用程序中,如下: System. Data是通用的名称空间,其中包含组成ADO. NET核心体系结构的所有类。System. Data. Oledb名称空间供ADO. NET管理提供程序访问支持OleDb的数据源时使用。System. Data. SQLClient名称空间供SQL Server管理提供程序使用
3、。该名称空间是 专为Microsoft SQL Server而设计的,对于以前版本的SQL Server,可以提高其性能。如:using System. Data;using System. Data. SqlClient;System. Data. OleDb和System. Data. SqlClient名称空间的类名称相同,只是字头不 同。之所以分成两组类,主要目的是提供一组最佳化SQL Server数据库存取的类。 OleDb字头的类是使用OLEDB提供者数据源的数据库。例如Access和Oracle等数据库。 Sql字头的类只能使用在SQL Server7. 0以上版本,直接和服务器
4、端的SQL Server通信, 因为不通过OLE DB和ODBC,所以可以明显提升整体的执行效率。3、ADO. NET的组成ADO. NET用于访问和处理数据的类库包含以下两个组件:.NET Framework数据提供 程序DataSetADO. NET数据提供程序的四个核心对象:Connection建立到指定资源的连接 Command对一个数据源执行命令。公开Parameters,在Connection的Transaction范 围内执行。DataReader从一个数据源读取的只读数据流。DataAdapter填充一个DataSet,解析数据源的更新。ADO. NET是使用Connectio
5、n对象建立与数据源的数据链路,然后使用Command对象执 行命令来获取数据源的数据,对数据库来说就是使用SQL命令。在获取数据源的数据后,就可以填入DataReader或DataSet对象,最后使用数据绑 定在Web控件显示记录数据。Connection 对象可以建立与数据源间的连接;对数据库来说,还负责初始化数据库。有两种: OleDbConnection 对象和 SqlConnection 对象。Web服务器和数据库系统本属于两套不同的应用程序,通过ODBC或OLE DB可以打开 数据源的数据库,Connection对象进一步将ASP. NET程序和数据库连接起来。Command 对象可
6、以对数据源执行命令,对数据库来说,就是执行SQL命令。ASP. NET程序可以使用Command对象发送SQL命令来插入、删除、更新和查询数据表 的记录。需要先使用Connection对象建立数据库连接后,才能使用Command对象执行SQL命 令。两种:OleDbCommand 对象和 SqlCommand 对象。DataReader 对象可以从数据源使用Command对象执行命令,获取“只读”(Read-Only)和“只能向 前(Forward-Only)的流数据。每次只能从数据源读取一行数据保存到内存。获取的数据为只读,不允许插入、删除和更新记录,其目的是显示查询结果。两种: OleDb
7、DataReader 对象和SqlDataReader 对象。DataAdapter和DataSet类满足了支持数据库访问的断开连接模型这一需求。 DataSet是ADO. NET断开连接体系结构中主要的数据存储工具。填充DataSet时,必须 创建一个 DataAdapter 来填充 DataSetoDataAdapter连接数据库,执行查询并填充DataSet。当DataAdapter调用Fill 或Update方法时,在后台完成所有的数据传输。每个.NET Framework的数据提供程序 都有一个DataAdapter对象。DataAdapter能控制与现有数据源的交互。DataAda
8、pter 也能将对DataSet的变更传输回数据源中。一个DataSet代表一组完整的数据,包括表格、约束条件和表关系。DataSet能够 存储代码创建的本地数据,也能存储来自多个数据源的数据,并断开到数据库的连接。DataSet 和 DataTable 对象DataSet对象是由DataTable对象组成的集合对象,可代表保存在内存的数据库。每 一个DataTable保存一个数据表的记录数据,并且可以设定数据表间的关联性。属于 System. Data名称空间,用DataAdapter类的方法Fill。将数据表的数据填入DataSet对 象。可以在DataTable对象中插入和删除行,即处理
9、数据表的记录,最后使用 DataAdapter类将DAtaTable对象中的数据更新到数据库。4、使用ADO. NET SQL命令执 行数据库操作分为两种方式:使用ADO. NET的Command对象配合SQL语法:使用ADO. NET的DataSet对象:(1)可用Command对象执行SQL命令:用Connection对象来建立数据库连接。步 骤:导入所需的名称空间:建立和打开数据库连接;建立Command对象;执行SQL命令处理数据库:关闭数据库连接;实例演示。建立 Connection 对象的语法:SqlConnection objcon:objeon:new SqlConnectio
10、n(strDbCon):上述代码建立了名为objCon的SqlConnection对象。strDbCon变量是数据源字符串, 如:strDbCon=VE述字符串中以分隔建立好Connection对象后,就可以使用Open。方法打开数据库连接:objCon. Open。Connection对象的相关方法:Open()和CloseOConnection对象的相关属性:ConnectionString;ConnectionTimeoutDatabase;DataSource;Provider;State上述属性在连接打开后都成为只读属性:在连接打开前,可以设定这些属性,如:objCon. Conne
11、ction?imeout=30上述设定与在连接字符串中指定功能等同;在打开数据库连接后,就可以建立Command对象来指定欲执行的SQL命令字符串: SqlCommand objcom;objcom = new SqlCommand(strsql, objCon);上述代码使用SqlCommand类建立Command对象;第一个参数是SQL命令字符串;第 二个参数是建立的Connection对象:实例演示:使用 sql 语句 SELECT CategorylD, CategoryName FROM Categories1 创 建查询表Categories的命令的代码如下:SqlCommand
12、cmd;cmd=new SqlCommand(CategoryID, CategoryName FROM dbo. CategoriesCommand 对 象的相关属性:Parameters:用来访问输入及输出参数和返回值。SqlCommand支持命名参数。添加到Parameters集合的参数的名称必须与SQL语句或 存储过程中的参数标记的名称相匹配。OleCommand不支持命名参数,用问号占位符标记参数,则向Parameters集合中添加 参数的顺序必须与定义的参数顺序相匹配。如:SqlParameter param; ? objcmd = new SqlCommand(%username
13、, password from userinfo where username like name param = objcmd. Parameters. Add(param. Value = tbname. Text;SqlDataReader objdr = objcmd. ExecuteReader 0; ?Command对象的相关属性:CommandType:命令类型,可选 CommandType. St or edProcedureCommandType. Text 、CommandType. TableDirect 如:Sale 是存储过程cmd =new SqlCommand(
14、sale” , con)cmd. CommandType=CommandType. StoredProcedure 在打开数据库连接,建立 Command 对象后,就可以用Command对象的ExecuteNonQuery ()方法来执行SQL命令,如:count=objCmd. ExecuteNonQuery()Count可以获取响应的记录数。此方法不会回发记录数据。Command对象公开了几个 可用于执行所需操作的Execute方法:ExecuteReader:当以数据流的形式返回结果时, 使用 ExecuteReader 可返回 DataReader 对象。ExecuteScalar:使
15、用 ExecuteScalar 可返回单个值ExecuteNonQuery:使用ExecuteNonQuery可执行不返回行的命令。使用DataReader对象的Read方法可从查询结果中获取行。例如,循环显示SqlDataReader dtr 的数据的代码如下:While(dtr. ReadO) lblMessage+= lblMessage+=dtr lblMessage+=lblMessage+二dtr 、姓名 完成数据库操作后,使用Connection对象的Close。方法关闭数据库连接: objCon. Close ();实例演示。小结:使用数据提供程序访问数据库操作的典型步骤如下:
16、建立数据库连接:创建SQL命令:执行SQL命令;处理SQL命令结果。实例演示用SQL命令实现数据的增、删、改功能。课堂练习:按要求编写程序。5、 DataSet对象的数据库操作DataSet对象的数据库操作需要将数据库先保存在内存的DataTable对象,然后在内存 的数据表插入、删除和更新记录,最后使用DataAdpater对象更新数据表的记录数据。使用Dat Adapter和DataSet访问数据库的典型步骤如下:(1)建立数据库连接;(2)建立 DataAdapter 对象;如:SqlDataAdapter obJDataAdapter=new SqlDataAdapter(strsql
17、,objCon); (3) 建立DataSet对象填入记录数据:如:objDataAdapter. Fill (objDataSet, Usersn ; (4)在 DataTable 中执行数据 库操作;(5)更新数据表的记录数据。如:count=objDataAdapter. Update(objDataSet, Users* ) (6)关闭数据库连接DataSet对象使用DataAdapter对象来获取记录数据,它是DataSet和Connection对 象数据源之间的桥梁,可以获取DataSet的记录数据和更新数据源的记录数据。如:SqlDataAdapter objadapter;sqlstr= u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理记录单书写技巧与案例分析分享
- 2026年高中地理总复习讲解-动物与地理环境
- 2026年公共数据授权运营标准与绩效评估体系建设
- 2025年全球UAM市场规模657亿元与2030年1296亿元预测
- 2025年前台服务技能测试
- 2026年公共数据授权运营情况纳入审计监督的对接机制建设
- 2026年运动想象稳态视觉诱发电位P300事件相关电位解码范式对比
- 2026年失效分析技术在芯片良率提升中的应用
- 植物护肤抗衰老护理
- 2026年完善法律与伦理双重规制机制数据安全管理顶层设计
- 《收益法在无形资产价值评估中的应用案例分析:以M生物公司为例》8900字(论文)
- 高速铁路接触网设备运行与维护课件:接触网支撑定位装置
- 反歧视艾滋病培训
- 渠道开发与维护课件
- 养老行业从业人员健康管理制度
- 20S121生活热水加热机组(热水机组选用与安装)
- (高清版)DZT 0388-2021 矿区地下水监测规范
- 《护理疑难病例讨论》课件
- GB/T 12758-2023城市轨道交通信号系统通用技术条件
- 高速公路安全养护作业规程优质资料
- 雁行理论优质获奖课件
评论
0/150
提交评论