【三层】—ADO.NET基础

           

     【三层】—ADO.NET基础

   


    关于三层,很多的地方都有ADO.NET ,就自己在查看了ADO.NET 的一些基础,相应的

了解一下。简单的说,ADO.NET就是怎么和数据库进行交互的(增 删 改 查),相当于一

个接口.

    ADO.NET是它是起源于ADO(ActiveX Data Objects),像VB.NET 是VB 6.0基础之

的,为了在.NET 环境中更好的编程运行,ADO.NET 是一个COM组件库,主要用于访问

据ADO.NET是一组用于和数据源进行交互的面向对象类库。  通常情况下,数据源是数

库,但它同样也能够是文本文件、Excel表格或者XML文件。             

             

             【三层】—ADO.NET基础_第1张图片        

 

一、ADO.NET数据库访问

  初步了解到ADO.NET提供了平台互用性和可伸缩的数据访问,由一系列用于操作数据

访问的类组成,通过它可以快速地存取数据,其流程类似生活中的“买苹果“,首先,

买家根据卖家信息,和卖家打招呼并告知他购买意愿;其次,告诉卖家要买什么,具体

数量等信息;再次,卖家执行买家要求,称好水果;最后,装袋给买家,等待买家进一

步处理水果。过程中,WEB应用程序好比“买家”,数据库好比要买的“水果”,

ADO.NET核心对象好比“卖家”,WEB应用程序要想实现对数据库的操作,必须通过

和“卖家”ADO.NET核心对象,具体流程如下:



(1)打招呼:建立并打开连接
  Using(SqlConnectioncn=newSqlConnection(connectionString))
  {cn.Open();
  数据库相关操作}


(2)告知“卖家”要做什么:初始化命令
  SqlCommandcm=newSqlCommand();
  cm.Connection=cn;
  cm.commandText=“相关SQL命令”;
  cm.Parameters.AddWithValue(“参数名”,参数值);


(3)卖家称水果:执行命令
  cm.executeReader()或者cm.executeNonquery()或者cm.executeScalar(),三种方法视具体情况选择。


(4)卖家装袋,待买家下一步处理:保存执行结果待进一步处理
  SqlDataReaderdr=cm.executeReader();|cm.executeScalar();
  If(dr.read()
  {相关数据处理;}



二、ADO.NET基础概念:


1、System.Data:DataTable,DataSet,DataRow,DataColumn,DataRelation,Constraint


2、System.Data.Common(各种数据访问类的基类和接口):DataColumnMapping,DataTableMapping


3、System.Data.SqlClient(对Sql Server进行操作的数据访问类):


1)SqlConnection:数据库连接器


这主要是和数据的链接,一定要链接利用它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。


2)SqlCommand:数据库命名对象


和数据成功的建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令。


3)SqlCommandBuilder:生存SQL命令


4)SqlDataReader:数据读取器


  DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果的数据。开发人员需要操作数据,就还需要使用DataSet。


5)SqlDataAdapter:数据适配器,填充DataSet


6)SqlParameter:为存储过程定义参数


7)SqlTransaction:数据库事务




 主要为4个提供者对象:Connection、DataReader、Command、DataAdapter

和1个用户对象DataSet

  DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包

列和行,就象一个普通的数据库中的表。


三、ADO.net、VB.NET 和Asp.net对比:
1、都是建立在.net平台坏境中运行的。 
2、区别

1)Ado.net 是ado的一个后续升级版本,利用它可以操作数据库中的数据!Ado.Net是

ado的最新版本,是一个Data Access新的模型.

VB.net 是VB6.0的一个后续升级版本,它可以直接开发Windows应用程序

后面我们将学到的B/S中的 ASP.net 是用于开发WEB应用程序的!



2)ADO.net它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式

的支持.主要是通过.net的一些提供程序和数据库进行交互。



Asp.net是动态服务器页面。用户可以和他进行交互,经常通过ADO.net读取和更新数据

ado.net是数据操作对象,主要是访问数据库层的,

而.net 是指开发语言,页面aspx,后台代码aspx.cs


3)VB.NET可以当作一个编程语言,是vb6的一个后继版本,但是架构又很大改变,跟java类似.


ASP.NET是asp的升级版本,可以用C#或者Vb.NET来开发asp.net web应用程序.当然如果呢学过asp的话,也可以用asp的那套开发web程序.


联系:Vb.net利用Ado.net操作数据,Vb.net可以开发ASP.net程序。


四、VDO.NET 和三层
           

数据库有一个Article表,其中有一个content字段是text类型的大字段

Ado.net三层架构中Model层中有一个实体ArticleModel对应Article表

DAL层有一个GetModelList方法,返回List<ArticleModel>,也就是完整的ArticleModel

实体List

UI层有一个文章列表,列表中不需要用到content字段,如果还是用DAL层中的

GetModelList方法,返回完整的ArticleModel实体List,肯定是不合适的,那么对于

content这样的大字段要怎么处理呢



为UI层的文章列表专门作个实体类或写个GetModelListXXX()方法只填充需要字段这类的方式不考虑
一个朦胧的想法是利用Model里的Content属性作文章,写个类似延时加载的代码


小结:

  为了更好的体现”高内聚,低耦合”的软件设计思想,在基于ado.net的数据库访问

技术中,三层架构思想应用越来越广泛,它以分层思想把WEB应用程序划分成不同的层次

加以实现,从而实现了对人员的合理分工,提高了开发效率,也使得.netweb应用程序的

可扩展性和健壮性得到很大的提升,在实际使用过程中,ASP.NET三层结构各司其职,互

不干涉,在WEB应用程序开发和后期维护中极为便捷,值得我们一探究竟。




你可能感兴趣的:(【三层】—ADO.NET基础)