数据访问与ADO.NET

数据访问与ADO.NET,第1张

ADO NET的设计目标 ADO NET是Microsoft公司发布的新一代数据存取技术 是一个全新的数据库访问模型 使应用程序的开发人员能方便的访问不同的数据源ADO NET提供对SQL Server等数据源以及通过OLEDB和XML公开的数据源的一致访问 数据共享应用程序可以使用ADO NET来连接到这些数据源 并检索 *** 作和更新数据 设计目标 n  支持断开式多层编程模式n  能够与XML紧密集成n  具有能够组合来自多个 不同数据源的数据通用数据表示形式n  具有为与数据库交互而优化的功能 ADO NET体系结构    ADO NET的两个核心组件 ( )DataSet ( )数据提供程序(DataProvider:包括Connection Command DataReader DataAdapter)  DataSetu  DataSet 是ADO NET的断开式结构的核心组件u  设计目的 为了实现独立于任何数据源的数据访问u  可以用于多种不同的数据源 用于XML数据 或用于应用程序本地数据u  DataSet包含一个或多个DataTable对象集合

数据提供程序(DataProvider)设计目标 为了实现数据 *** 作和对数据快速 只进 只读访问 NET框架提供了 个数据提供程序         SQL Server数据提供程序         OLE DB数据提供程序         ODBC数据提供程序         Oracle数据提供程序DataProvider的四个对象a)        Connection对象 提供与数据源的连接b)       Command对象 使用户能够访问用于返回数据 修改数据 运行存储过程以及发送或检索参数信息的数据库命令 c)        DataReader对象 从数据源中提供高性能的数据流 读取数据d)       DataAdapter对象 提供连接DataSet对象和数据源的桥梁DataAdapter使用Command对象在数据源中执行SQL命令 以便将数据加载到DataSet中 并使对DataSet中数据的更改与数据源保持一致数据库连接要访问数据库 首先必须建立与数据库的连接使用Connection对象创建和管理连接    连接字符串在建立连接时 通常要提供一些数据源的信息 如数据库的名称 数据库所在物理位置 用户账号 密码等等(和一般连接数据库吗没什么区别)通过Connection对象的ConnectionString属性来设置打开和关闭连接连接的两个主要方法是Open和CloseOpen方法使用ConnectionString属性中的信息联系数据源并建立一个打开的连接Close方法关闭连接 是非常必要的 因为大多数据源只支持有限书目的打开的连接 并且打开的连接占用宝贵的系统资源如果正在使用DataProvider或Command 则不必显示打开和关闭连接 因为当调用这些对象的某个方法(例如DataAdapter的Fill或Update方法)时 该方法将检查连接是否已经打开 如果没有 适配器将打开连接 执行其逻辑 然后再关闭连接 Command对象在用Connection对象成功连接数据库后 可以用mand对象对数据进行 *** 作 如对数据进行增 删 查 改等 *** 作Command对象表示要对数据源执行的一个SQL语句或存储过程DataAdapter对象DataAdapter(数据适配器)用来建立和初始化数据表 并将其填入DataSet对象 在内存中存储数据 DataAdapter的主要方法是Fill 用来将来自DataAdapter中的数据填入DataSet中DataSetDataSet对象是一个存储在内存中的离线数据库 它并未与数据库建立及时的连接DataSet对象专门用来存储从数据源中读出的数据 无论是SQL Server数据库还是Access数据库 在DataSet中存储方式都是一致的 用户无法从DataSet中判断读取的数据库类型DataReader对象如果不需要DataSet所提供的功能 则可以使用DataReader以只读方式返回数据因为节省了DataSet所使用的内存 并省去了创建DataSet并填充其内容所需要的必要处理 所以可以提高应用程序的性能

C#代码示例 [csharp]using Systemusing System Collections Genericusing System Linqusing System Textusing System Data SqlClientusing System Datausing System Text RegularExpressionsusing System Windows Formsnamespace 图书管理 {class BaseOperate{//建立数据库连接public SqlConnection getcon(){string str_sqlcon = data source= database=library_sysuid=sapwd= try{SqlConnection myCon = new SqlConnection(str_sqlcon) return myCon}catch (Exception ex){MessageBox Show( 出错了 链接出错 MessageBoxButtons OK) throw ex}}//执行sqlmand命令 但无返回值public void get(string sqlstring){SqlConnection sqlcon = this getcon() sqlcon Open() SqlCommand sql = new SqlCommand(sqlstring sqlcon) sql ExecuteNonQuery() sql Dispose() sqlcon Close() sqlcon Dispose() }//执行sql语句并返回一个dataset数据集对象public DataSet getds(string sqlstring){SqlConnection sqlcon = this getcon() SqlDataAdapter sqlda = new SqlDataAdapter(sqlstring sqlcon) DataSet myds = new DataSet() sqlda Fill(myds) return myds}//执行sql语句并返回一个sqlReader类型的对象 用于读取查询的数据public SqlDataReader getread(string sqlstring){SqlConnection sqlcon = this getcon() SqlCommand sql = new SqlCommand(sqlstring sqlcon) sqlcon Open() SqlDataReader sqlread = sql ExecuteReader(CommandBehavior CloseConnection) return sqlread} lishixinzhi/Article/program/net/201311/12962

在用户进行数据查询时通常有这样的情况,一个数据库查询将返回太多的行,一致不能在一页中显示。如果用户正在使用一个慢的链接,发送特别大的数据结果可能要花很长的时间。一旦获得了数据,用户可能发现它不包含正确的内容,或者查询范围太大,没有容易的办法检查完所有的结果来找到重要的信息。因此,对查询结果分页显示将为用户可管理的数据查询提供极大的方便。分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一,现在网站基本上都提供了分页显示信息的功能,但大部分还是基于ASP的,而.NET平台框架是针对各种各样的Web应用设计的,因此本文讨论了一种在ASP.NET框架下实现查询记录自定义分页显示的技术。

ASP.NET

.NET是通过平台独立的数据描述方法(通过XML)和通用的访问媒介Internet来简化用户访问和存储信息的过程。

ASP.NET是Microsoft.Net框架的核心元素,是一项基于服务器的强大技术,利用它,可以为WWW站点或企业内部网创建动态可以交互的HTML页面。ASP.NET 完全基于模块和组件,具有很好的可扩展性和可定制性。它主要包括WebForm和WebService两种编程模式。前者为用户提供功能强大、外观丰富的基于表单(Form)的可编程Web页面;后者通过对HTTP、XML、SOAP、WSDL等Internet标准的支持提供在异构网络环境下获取远程服务、链接远程设备、交互远程应用的编程界面。

通过ADO.NET链接、 *** 纵数据源

在Microsoft公司推出开放式数据库互连(ODBC)应用程序编程接口(API)以来,出现了各种各样的数据库访问技术,而直到ADO.NET出现,API才能实时地给出处理效果。ADO.NET是ASP.NET应用程序用来与数据库进行通信的技术,使你可以同关系数据库和其他数据源进行交互。断开的访问是ADO.NET最重要的特性,是对ADO最大的改变。ADO.NET创建一个到数据库的链接,用从数据库中提取的信息副本填充数据集。如果改变了数据集(DataSet)中的信息,数据库里相应表格中的信息不会改变。需要时,可以把DataSet连回最初的数据源并应用所有的改变。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9891673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存