vs 三层结构 未找到dbhelpersql.cs.cs类 放到哪里

三层架构之UI层完全分离
三层架构之UI层完全分离
&&&&&&& 前几天在论坛看到有人讨论三层架构,有人说应该吧UI层和其他层完全分离,UI层只接收传值工作。觉得很有道理。所以动手做了个。在DAL层查询语句。BLL层把数据封装为数据集,然后在UI层直接引用数据集。相当于把DAL层和BLL层看做一个DataSource。UI层只绑定这个DataSource。
&&&&&& 描述的不怎么清楚,直接贴代码:
&&&&&& &DataTable dt = BLL.Select();
&&&&&&& GridView1.DataSource =
&&&&&&& GridView1.DataBind();
&public static DataTable Select()
&&&&&&&&&&& DataTable ds = DAL.Select();
&&&&&&&&&&& DataTable dt = new DataTable(&uss&);
&&&&&&&&&&& DataColumn dc1 = new DataColumn(&no&, Type.GetType(&System.Int32&));
&&&&&&&&&&& DataColumn dc2 = new DataColumn(&name&, Type.GetType(&System.String&));
&&&&&&&&&&& DataColumn dc3 = new DataColumn(&width&, Type.GetType(&System.Int32&));
&&&&&&&&&&& DataColumn dc4 = new DataColumn(&height&, Type.GetType(&System.Int32&));
&&&&&&&&&&& DataColumn dc5 = new DataColumn(&ip&, Type.GetType(&System.String&));
&&&&&&&&&&& DataColumn dc6 = new DataColumn(&scrType&, Type.GetType(&System.String&));
&&&&&&&&&&& DataColumn dc7 = new DataColumn(&conType&, Type.GetType(&System.String&));
&&&&&&&&&&& dt.Columns.Add(dc1);
&&&&&&&&&&& dt.Columns.Add(dc2);
&&&&&&&&&&& dt.Columns.Add(dc3);
&&&&&&&&&&& dt.Columns.Add(dc4);
&&&&&&&&&&& dt.Columns.Add(dc5);
&&&&&&&&&&& dt.Columns.Add(dc6);
&&&&&&&&&&& dt.Columns.Add(dc7);
&&&&&&&&&& foreach (DataRow row in ds.Rows)
&&&&&&&&&& {
&&&&&&&&&&&&&& DataRow dr = dt.NewRow();
&&&&&&&&&&&&&& dr[&no&] = int.Parse(row[&nNo&].ToString());
&&&&&&&&&&&&&& dr[&name&] = row[&nName&].ToString();
&&&&&&&&&&&&&& dr[&width&] = int.Parse(row[&nWidth&].ToString());
&&&&&&&&&&&&&& dr[&height&] = int.Parse(row[&nHeight&].ToString());
&&&&&&&&&&&&&& dr[&ip&] = row[&pIP&].ToString();
&&&&&&&&&&&&&& dr[&scrType&] = System.Enum.GetName(typeof(EnumTest.ScrType), int.Parse(row[&nScrType&].ToString()));
&&&&&&&&&&&&&& dr[&conType&] = (ConTypeService.GetTypeById(row[&nConType&].ToString())).C
&&&&&&&&&&&&&& dt.Rows.Add(dr);
&&&&&&&&&& }
&&&&&&&&&&
&public static DataTable Select()
&&&&&&&&&&& DBHelpers DBHelpers1 = new DBHelpers();
&&&&&&&&&&&
&&&&&&&&&&& strsql = &select * from users&;
&&&&&&&&&&& DataTable dt = new DataTable();
&&&&&&&&&&& dt = DBHelpers1.Readstr(strsql);
&&&&&&&&&&&
DBHelpers.cs文件:
public DataTable Readstr(String strSql)
&&&&&&&&&&& DataTable ds = new DataTable();
&&&&&&&&&&& MySqlConnection Conn = new MySqlConnection(strConn);
&&&&&&&&&&& Conn.Open();
&&&&&&&&&&& MySqlDataAdapter Cmd = new MySqlDataAdapter(strSql, Conn);
&&&&&&&&&&& Cmd.Fill(ds);
&&&&&&&&&&& Conn.Close();
&&&&&&&&&&&
&&&&&&& public enum ScrType
&&&&&&&&&&& 单身=1,
&&&&&&&&&&& 恋爱=2,
&&&&&&&&&&& 失恋=3,
2)user.cs文件
&&&&&&& private ConT
&&&&&&& /// &summary&
&&&&&&& /// PK
&&&&&&& /// &/summary&
&&&&&&& public ConType Ncontype
&&&&&&& {get { }
&&&&&&&&&&& set { ncontype = }}
&&&&&&& public string Nname
&&&&&&& {get { }
&&&&&&&&&&& set { nname = }}
&&&&&&& public int Nno
&&&&&&& {get { }
&&&&&&&&&&& set { nno = }}
&&&&&&& public int Nwidth
&&&&&&& {get { }
&&&&&&& &set { nwidth = }}
&&&&&&& public int Nheight
&&&&&&& {get { }
&&&&&&&&& set { nheight = }}
&&&&&&& public int Nscrtype
&&&&&&& {get { }
&&&&&&&&&&& set { nscrtype = }}
&&&&&&& public string Pip
&&&&&&& {get { }
&&&&&&&&&&& set { pip = }}
3)ConType.cs文件
&&&&&&& public string Concode
&&&&&&& {get { }
&&&&&&&&&&& set { concode = }}
&&&&&&& pr
&&&&&&& public string Contype
&&&&&&& {get { }
&&&&&&&&&&& set { contype = }}
这个是涉及到多表查询的。还有枚举......
因为原先找人教的时候他教我的很多东西都是在UI层做。导致UI层的代码很多。无法实现UI层与下层的完全分离,到时候换UI层的话要修改好多代码。所以我想直接封装好然后在UI调用,这样美工即使不懂代码也能在拿到下层的时候直接弄出UI层.....
如果需要单项绑定的话用IList&&同样的全部封装好,然后UI层直接给参数名,修改、删除页同样的封装。如此UI层不就和其他层完全分离了么,到时候要换UI层的话随便怎么换,把WEBFROM转到WINFrom都没问题。都只要换UI,相当于把BLL和DAL与UI完全分离....
我的热门文章
即使是一小步也想与你分享为了更好地让初学者轻松入门,这里仍然采用趣味性的;层次结构在现实社会里随处可见;14.1.1常用的三层架构设计;软件系统最常用的一般会讲到三层架构,其实就是将整;常见的三层架构基本包括如下几个部分,如图14-1;图14-1常见的三层架构;?数据访问层DAL:用于实现与数据库的交互和访问;?业务逻辑层BLL:业务逻辑层承上启下,用于对上;?表示层Web:主要实
为了更好地让初学者轻松入门,这里仍然采用趣味性的方式聊一些常用技术点,致力于.NET新手们的快速提高!知识都是普通的,关键是学习的思路。技术源于生活,技术原来可以这样学。抛砖引玉而已。
层次结构在现实社会里随处可见。记得有个笑话讲有个村长得意地向他老婆吹牛:“全中国只有四个人比我官大,乡长、县长、省长和国务院总理”。这个笑话也体现了真实社会中分层的现象。社会人群会分层,公司人员结构也会分层,楼房是分层的,甚至做包子的笼屉都是分层的。虽然分层的目的各有不同,但都是为解决某一问题而产生的。所以,分层架构其实是为了解决某一问题而产生的一种解决方案。
常用的三层架构设计
软件系统最常用的一般会讲到三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层等,有的还要细一些,通过分解业务细节,将不同的功能代码分散开来,更利于系统的设计和开发,同时为可能的变更提供了更小的单元,十分有利于系统的维护和扩展。
常见的三层架构基本包括如下几个部分,如图14-1所示。
常见的三层架构
数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。
业务逻辑层BLL:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。
表示层Web:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。
日常开发的很多情况下为了复用一些共同的东西,会把一些各层都用的东西抽象出来。如我们将数据对象实体和方法分离,以便在多个层中传递,例如称为
Model。一些共性的通用辅助类和工具方法,如数据校验、缓存处理、加解密处理等,为了让各个层之间复用,也单独分离出来,作为独立的模块使用,例如称为Common。
此时,三层架构会演变为如图14-2所示的情况。
三层架构演变结果
业务实体Model:
用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。Model分离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进行复用和扩展,增强灵活性。 ?
通用类库Common:通用的辅
助工具类。
在第5.2节中我们讲过可以将对数据库的共性操作抽象封装成数据操作类(例如DbHelperSQL),以便更好地复用和使代码简洁。数据层底层使用通用数据库操作类来访问数据库,最后完整的三层架构如图14-3所示。
最后完整的三层架构
数据库访问类是对ADO.NET的封装,封装了一些常用的重复的数据库操作。如微软的企业库SQLHelper.cs,动软的DBUtility/DbHelperSQL等,为DAL提供访问数据库的辅助工具类。
通过以上分析,我们知道如今常用的三层架构是个什么样子,同时,我们也知道了三层架构在使用过程中的一些演化过程。那么,为什么要这样分层,每层结构到底又起什么作用呢?我们继续往下看。
趣味理解:三层架构与养猪
看新闻报道今年猪肉价格一路高涨,据说有人养猪都发财致富奔小康了,程序员都说写代码没前途了,还不如去养猪,不过,可别认为养猪没有技术含量,比写代码容易,其实养猪也大有学问。为了更好地理解三层架构,就拿养猪来做个例子吧。俗话说:“没吃过猪肉,还没见过猪跑啊!”。
图14-4是三层架构化的养猪产业流水线趣味对此图。
三层结构与养猪
对比图14-3与图14-4,我们可以看出:
数据库好比猪圈,所有的猪有序地按区域或编号,存放在不同的猪栏里。 ?
DAL好比是屠宰场,把猪从猪圈取出来进行(处理)屠杀,按要求取出相应的部位(字段),或者进行归类整理(统计),形成整箱的猪肉(数据集),传送给食品加工厂(BLL)。本来这里都是同一伙人既管抓猪,又管杀猪的,后来觉得效率太低了,就让一部分人出来专管抓猪了(DBUtility),根据要求来抓取指定的猪。
BLL好比食品加工厂,将猪肉深加工成各种可以食用的食品(业务处理)。 ?
Web好比商场,将食品包装成漂亮的可以销售的产品,展现给顾客(UI表现层)。
猪肉好比Model,无论是哪个厂(层),各个环节传递的本质都是猪肉,猪肉贯穿整个过程。
通用类库Common相当于工人使用的各种工具,为各个厂(层)提供诸如杀猪刀、绳子、剪刀、包装箱、工具车等共用的常用工具(类)。其实,每个部门本来是可以自己制作自己的工具的,但是那样会使效率比较低,而且也不专业,
并且很多工作都会是重复的。因此,就专门有人开了这样的工厂来制作这些工具,提供给各个工厂,有了这样的分工,工厂就可以专心做自己的事情了。
当然,这里只是形象的比喻,目的是为了让大家更好地理解,实际的情况在细节上会有所不同。这个例子也只是说明了从猪圈到商场的单向过程,而实际三层开发中的数据交互是双向的,可取可存。不过,据说有一种机器,把猪从这头赶进去,另一头就噗噗噜噜地出火腿肠了。如果火腿肠卖不了了,从那头再放进去,这头猪又原原本本出来了,科幻的机器吧,没想到也可以和三层结构联系上。以上只是笑谈,不过也使三层架构的基本概念更容易理解了。
上面谈了那么多,有人会问,我直接从数据库取出内容直接操作不可以吗?为什么要这么麻烦地用三层架构呢?三层架构到底有什么好处呢?
不分层,当然可以,就好比整个过程不分屠宰场、加工场之类的,都在同一个场所(工厂)完成所有的活(屠杀、加工、销售)。但为什么要加工厂和商场呢?因为当规模比较大的时候,管理起来就会变得非常复杂,这样的养殖方式已经无法满足规模化的需要了。并且,从社会的发展来看,社会分工是人类进步的表现。社会分工的优势就是让适合的人做自己擅长的事情,使平均社会劳动时间大大缩短,生产效率显著提高。能够提供优质高效劳动产品的人才能在市场竞争中获得高利润和高价值。人尽其才,物尽其用最深刻的含义就是由社会分工得出的。软件开发也一样,做小项目的时候,分不分层确实看不出什么差别,并且显得更麻烦铝恕5毕钅勘浯蠛捅涓丛邮保植憔拖允境鏊挠攀评戳恕K苑植环植阋菹钅康氖导是榭龆ǎ荒芤桓哦邸
三亿文库包含各类专业文献、幼儿教育、小学教育、中学教育、高等教育、生活休闲娱乐、外语学习资料、三层架构93等内容。 
 三层架构将数据层、应用层和业务层分离,业务层通过应用层访问数据库,保护数据安 全,利于负载平衡,提高运行效率,方便构建不同网络环境下的分布式应用; 业务层主要...  C#三层架构概述_计算机软件及应用_IT/计算机_专业资料。C#三层架构的介绍 概述在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐 的分层式...  解读三层架构技术 三层架构将数据层、应用层和业务层分离,业务层通过应用层访问数据库,保护 数据安全,利于负载平衡,提高运行效率,方便构建不同网络环境下的分布式应 ...  三层架构设计_计算机软件及应用_IT/计算机_专业资料。MVC三层架构设计常用的三层架构设计 软件系统最常用的一般会讲到三层架构,其实就是将整个业务应用划分为表示层、...  关于在.NET 中 DAL+IDAL+Model+BLL+Web 其实三层架构是一个程序最基本的 在.Net 开发中通常是多层开发 比如说 BLL 就是 business Logic laywer(业务逻辑层) ...  三层结构开发模式_IT/计算机_专业资料。三层结构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。三层架构的优点在于...  三层架构之优缺点 五 三层架构之优缺点 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为: 表现层(UI) 、业务逻辑层(BLL) 、数据...  三层架构_计算机软件及应用_IT/计算机_专业资料。ASP.NET三层架构 ASP.NET 三层架构介绍 ASP.NET 设计模式中的分层架构实现了各司其职,互不干涉,实现“高内聚、...  三层架构 BS架构_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 三层架构 BS架构_计算机软件及应用_IT/计算机_专业资料。B/S 结构...&>&&>&&>&&>&C#中的oracle数据库连接字符串,数据库帮助类,DBHelper.cs
C#中的oracle数据库连接字符串,数据库帮助类,DBHelper.cs
上传大小:58KB
用C#写的数据库帮助类OracleDBHelper.cs,包括与oracle数据库的连接字符串,web.config文件的配置
嵌到我的页面
<input type="text" value="">
综合评分:4.1(71位用户评分)
所需积分:3
下载次数:315
审核通过送C币
创建者:zhangguo5
创建者:qyqyever
课程推荐相关知识库
上传者其他资源上传者专辑
数据库热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
C#中的oracle数据库连接字符串,数据库帮助类,DBHelper.cs
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:君,已阅读到文档的结尾了呢~~
NET三层架构与三层架构下GridView控件增删改操作详解三层,操作,架构,NET,增删改,三层架构
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
NET三层架构与三层架构下GridView控件增删改操作详解
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 c dbhelper.cs 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信