|  首页  |  资讯  |  评测  |  活动  |  学院  |  访谈  |  专题  |  杂志  |  产服  |  
您现在的位置:硅谷网> 学院> 论文>

三层架构下ADO.NET数据库访问技术的应用探究

2013-09-23 11:54 作者:钟大利 黄宗正 来源:硅谷网-《电脑知识与技术》杂志 HV: 编辑: 【搜索试试
  硅谷网据《电脑知识与技术》杂志刊文 为了使web应用程序结构更清楚,分工更明确,利于后期维护和升级,三层架构下的ADO.NET数据库访问技术受到越来越多设计者的青睐。本文主要从技术角度分析了三层结构体系、ADO.NET数据库访问技术以及它们在新闻系统中用户登录模块的设计与实现方法。
  
  1.三层架构体系
  三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换。以微软推荐的分层结构为例,将web应用程序依次划分为数据访问层、业务逻辑层和表示层。
  数据访问层负责对数据库的访问,实现对数据表的“查插删改”操作。
  业务逻辑层负责业务处理和数据传递,实现业务规则和业务逻辑。
  表示层主要负责内容呈现和用户交互。它从业务逻辑层获取数据并显示,同时将和用户交互的相关数据送回业务逻辑层处理。
  模型层作为在层与层之间数据传递的载体,包含了与数据库表象对应的实体类。
  各层之间的关系为上层调用下层,上层依赖下层,其中模型层是各层间的载体,各层均依赖模型层。
  2. 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()
  {相关数据处理;}
  3. 三层架构下的ADO.NET数据库访问技术的应用
  下面利用三层架构下的ADO.NET数据库访问技术,以新闻发布系统中的用户登录模块的设计为例,介绍其实现方法。根据用户登录逻辑,将整个模块流程设计如图2所示:
  
  
  
  3.1系统基本框架的搭建
  搭建思路为:新建模型层→新建系统数据访问层→新建系统业务逻辑层→新建系统表示层→添加各层之间的相互依赖。
  (1)运行VisualStudio2010,新建空白解决方案,将其命名为NewsLogin,
  (2)新建一个名为NewsModels的类库,添加实体类,将其作为模型层。
  (3)新建一个名为NewsDAL的类库,将其作为数据访问层。
  (4)新建名为NewsBLL的类库,将其作为业务逻辑层。
  (5)新建“ASP.NETWEB应用程序”的模板,将其作为表示层,命名为WEB。
  (6)依次建立表示层对业务逻辑层、业务逻辑层对数据访问层以及这三层对模型层的依赖关系。
  3.2数据库设计
  用户表(Users)结构设计为:
  Users(Id,UName,UPwd,RealName,UAddress,Phone,Email)。其中,除Id数据类型为int,是用户表(Users)主键,其余字段数据类型为nvchar(50)。
  3.3用户登录模块实体类的实现
  实体类通常是根据数据库表的设计编写成员变量和相应的变量读写属性,再加一个构造函数即可。如用户实体User类可以在类文件user.cs中编写实现。
  publicclassUser{
  privateintid;
  privatestringuName=string.Empty;
  privatestringuPwd=string.Empty;
  ……
  publicUser(){}
  publicintId{get{returnthis.id;}set{this.id=value;}}
  publicstringUname{get{returnthis.uName;}set{this.uName=value;}}
  ……
  }
  3.4用户登录模块数据访问层的实现
  根据用户输入的用户名和密码提交数据库进行查询,如果查询的用户记录存在,则返回一个用户对象,不存在则返回null。
  在NewDAL数据访问层中新建类文件UserService.cs。将数据访问层中的有关用户对象的操作都写在这个类里,在其中定义一个根据登录名查询用户的方法publicstaticUserGetUserByUName(stingUName).
  3.5用户登录模块业务逻辑层的实现
  当用户登录系统时,首先要判断输入的登录信息是否有效。可以在业务逻辑层创建一个对应的用户登录方法,接收表示层提交过来的用户名和密码,判断是否为合法用户。如果是合法用户,则返回true,否则返回false。
  在NewsBLL业务逻辑层中新建类文件UserManager.cs,在其中定义验证用户登录信息是否有效的方法publicstaticboolUserLogin(stingUName,stringUPwd,outUservalidUser)。
  3.6用户登录模块表示层的实现
  表示层用于显示数据和接收用户输入的数据,为用户提供一种交互式操作。在用户单击“登录”按钮的单击事件中,首先进行用户输入内容的合法性验证(用.net验证控件实现即可),然后通过调用业务逻辑层的相关方法判断用户名和密码是否匹配,如果匹配,则登录系统主页,否则提示登录失败。在NewsLogin项目中新建一个Admin文件夹,在该文件夹下创建页面文件adminLogin.aspx。
  4.总结
  为了体现”高内聚,低耦合”的软件设计思想,在基于ado.net的数据库访问技术中,三层架构思想应用越来越广泛,它以分层思想把WEB应用程序划分成不同的层次加以实现,从而实现了对人员的合理分工,提高了开发效率,也使得.netweb应用程序的可扩展性和健壮性得到很大的提升,在实际使用过程中,ASP.NET三层结构各司其职,互不干涉,在WEB应用程序开发和后期维护中极为便捷,值得我们一探究竟。
  作者简介:钟大利(1986-),女,贵州遵义人,贵州工业职业技术学院助理实验师,主要研究方向:网站建设,移动开发。
【对“三层架构下ADO.NET数据库访问技术的应用探究”发布评论】

版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
广告
相关
·基于“面向服务架构”SOA的PLM系统浅析
·C#.NET下三层架构数据库应用系统开发调试分析
·基于防火墙技术为重心的网络安全体系架构
·硅谷杂志:医院综合信息系统架构略析
·基于云计算架构的高校计算服务中心建设的研究
·硅谷杂志:基于SOA架构的数字化校园解决方案
·硅谷杂志:SAP系统架构浅析
·基于BS架构的党校毕业论文管理系统的设计与实现
头条
硅谷网解密:4G网络中的微波传输解决方案 硅谷网解密:4G网络中的微波传输解决方案
在2013年12月4日,工信部向中国移动、中国联通、中国电信颁发TD-LTE(4G)经营许可之后……
·硅谷网解密:4G网络中的微波传输解决方案
·创意产业的批量化规律 工业造型方法论之加减
·《硅谷》杂志:浅谈电信运营商开展IPTV业务
·《硅谷》杂志:新型桌面搜索关键技术的研究与
·硅谷杂志:基于时间技术的搜索引擎排名算法
图文
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介
最新
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·利用重力势能做功发电介绍和势能输出系统介绍
·李磊:新时代下电网调度自动化技术的发展分析
·提升企业竞争力以及企业人力资源管理优化思考
·《硅谷》杂志:采油分层测静压工艺技术浅究
热点
·判断连续时间系统的线性非时变性和因果性
·3DMAX+Vary室内漫游动画制作的技法浅析
·长期使人困惑的问题:TCP连接中断的实时检测
·佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
·关于汽轮机油系统失火原因分析及防范措施的一
旧闻
·硅谷杂志:无线通信技术在调度通信中的应用
·硅谷杂志:化工生产过程中的DCS监控系统的应
·《科技与生活》杂志:钢铁厂厂址的选择
·颜海宙:谈谈工业锅炉节能运行的优化措施
·硅谷杂志:视频会议系统建设应用分析
广告
硅谷影像
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
佳惠安抗菌喷剂敷料杀(抑)菌临床检验结论
利用重力势能做功发电介绍和势能输出系统介绍
利用重力势能做功发电介绍和势能输出系统介绍
公关负责人离职背后:危机公关案例分析
公关负责人离职背后:危机公关案例分析
硅谷网解密:4G网络中的微波传输解决方案
硅谷网解密:4G网络中的微波传输解决方案
使用Autoit脚本在虚拟内存盘设置考试模拟系统
使用Autoit脚本在虚拟内存盘设置考试模拟系统
探秘开滦集团设备租赁管理系统的设计和实现
探秘开滦集团设备租赁管理系统的设计和实现
关于我们·About | 联系我们·contact | 加入我们·Join | 关注我们·Invest | Site Map | Tags | RSS Map
电脑版·PC版 移动版·MD版 网站热线:(+86)010-57255600
Copyright © 2007-2020 硅谷网. 版权所有. All Rights Reserved. <京ICP备12003855号-2>