开发者社区> leanring> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【ASP.NET】ADO.NET

简介:
+关注继续查看
	在我们编程的这么长时间以来,几乎每个程序都需要我们与数据库打交道,对数据的访问和处理都是少不了的操作。在ASP.NET中,它给我们提供了ADO.NET技术,ADO.NET提供了对关系数据、XML和应用程序数据的访问,支持多种开发需求。
	其实,在我们学习数据库的时候,就与ADO.NET接触过,但之前也没有总结,这一次的学习,比以前理解起来要容易些,所以也总结一下。
	ADO.NET组件将数据访问与数据处理分离,它是通过两个主要的组件:.NET数据提供程序(data provider)和DataSet来完成这一操作的。下面是ADO.NET的整体结构图:
	
	ADO.NET数据访问一般有两种方式:一是通过DataReader对象直接访问;另一种是通过DataSet对象和DataAdapter对象来访问。它包含一下四种对象:
  • Connection,提供与数据源的连接;
  • Command,用于返回、修改数据,运行存储过程以及发送或检索参数信息的数据库命令;
  • DataReader,从数据源中提供高性能的数据流;
  • DataAdapter,提供连接DataSet对象和数据的桥梁,使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet对象中,并使DataSet对象中数据的更改与数据源保持一致。
下面就对这四个对象一一总结一下: (一)Connection对象 对于数据库的操作,首先需要连接数据库,在ADO.NET中,利用Connection对象连接数据库,其常用的一些参数主要有:
  • Data Source:SQL Server数据库服务器的名称;
  • Initial Catalog:数据库名称;
  • Integrated Security:决定连接是否安全;
  • User ID:SQL Server登录账户;
  • Password:SQL Server账户的登录密码。
(二)Command对象 数据库连接成功后,就可以读取和操作数据库中的数据,主要通过使用Command对象执行SQL命令实现。 SQLCommand类,我是在机房重构的时候,有了进一步深刻的认识,不论是执行SQL语句,还是存储过程,这都是通过command对象的属性和方法改变的。下面就简单列举一些我们在机房重构中用到过的各种属性和方法,有的在当时用的时候也许还不理解它的含义。 sqlCommand类的属性:
  • commandtext:类型为string,其值可以是SQL语句,存储过程或表;
  • commandType:类型为枚举类型,Text为SQL语句,StoredProcedure为存储过程,TableDirect为要读取的表;
  • connection:获取sqlconnection对象,使用该对象与数据库进行通信。
sqlCommand类的重要方法:
  • ExecuteNonQuery:类型为int,执行无返回结果的SQL语句;
  • ExecuteReader:类型为SqlDataReader,执行Select、tableDirect命令或有返回结果的存储过程;
  • CreateParameter:创建SQLParameter对象。
sqlCommand类的构造函数:
  • sqlCommand():不带参数,直接创建对象;
  • sqlCommand(string CommandText):根据SQL语句创建对象;
  • SqlCommand(string CommandText,SqlConnection conn):根据SQL语句和数据源连接创建对象;
  • SqlCommand(string CommandText,SqlConnection conn,sqlTransaction tran):根据SQL语句、数据源连接和事务对象创建对象;   
(三)DataReader对象 如果利用Command对象所执行的命令是有返回数据的Select命令,此时Command对象会自动产生一个DataReader对象,它可以将数据源的数据取出后显示给使用者,它一次只能读取一条数据,而且只能只读。 (四)DataAdapter对象 DataAdapter对象能够用来保存和检索数据,其Fill方法用于将查询结果填充到DataSet或DataTable中。 除了上面的四个对象,DataSet我们也算比较熟悉了,在机房重构的时候,我们也有用到过,我们将数据库与数据控件绑定,便可得到一个DataSet,这样对于我们访问和处理数据也方便了许多。 DataSet可以看成是一个数据容器,它是各种数据源中的数据在计算机内存中映射成的缓存。具有以下特性:
  • 独立性,其独立于各种数据源;
  • 离线和连接,其既可以以离线方式也可以以实时连接方式操纵数据库中的数据;
  • 其是一种数据关系视图。
学习的过程中就是需要我们不断反复,有的时候是先学习理论,再后面慢慢都会用到,用过了之后,觉得自己又理解得深刻了些;有的时候是自己已经用到了,但对于其理论上的含义不清楚,等到后来碰到了相关的理论知识的学习,突然有种恍然大悟的感觉。不管哪一种,理论与实践相结合,是必不可少的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ASP.NET学生常犯错误
自己在学习.NET中常犯的错误(持续更新
0 0
【ASP.NET】ADO.NET
<pre><span style="font-family:KaiTi_GB2312; font-size:18px"><span style="white-space:pre"> </span>在我们编程的这么长时间以来,几乎每个程序都需要我们与数据库打交道,对数据的访问和处理都是少不了的操作。在ASP.NET中,它给我们提供了ADO.NET技术,ADO.NET提供了对关系数据、XML和
832 0
ASP.NET【2】
    从上一节我们了解到ASP.NET是一种动态网页技术,在服务器端运行.Net代码,服务器端接收处理动态生成HTML代码,然后发送给浏览器,再由浏览器解析HTML代码将数据呈现给用户。
712 0
发现ASP.NET一个小技巧
在做bs项目时,网站的web层(指web项目) 有两种创建方式 1 是创建一个项目 2 是创建一个站点       当创建一个项目时,站点下的所有.cs文件会生成一个dll,对软件类的bs项目部署非常方便,但是对那些互联网公司来说就是噩梦,有时站点大道一定程度,dll文件上了1M后,不仅批量...
291 0
初学ASP.NET
       今天头一次接触了ASP.NET的技术,感觉确实存在着一些开发便捷之处,一些开发便捷之处,下面就简要谈谈我所学的一些体会,虽然可能很浅显,但依旧是我所亲身经历的。
498 0
.NET技术 ASP.NET
.NET技术 ASP.NET     数据库处理     在access数据库中更新多个字段,出错了,各位给点意见     高分求国家、省/州、城市资料     服务器在国外,中文添加Sqlserver里变成乱码。
827 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
FLowFuzz A Framework
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载