您的位置:首页 > 数据库

c#基于sqlserver数据库的三层架构

2015-06-10 17:18 344 查看
我比较菜,大神就不用看了,写这个是为了做一个学习记录。

本来布置的是基于sqlite,还涉及对配置文件的读写,还有基于Base64编码,读取sqlite数据库。上网查了资料对具体的实现方法还是不很清楚,于是就用sqlserver简单的实现了一下。

谈谈我自己的理解吧,首先是优点 ,它把一个项目分成了三个大块(UI,DAL,BLL),让它们各司其职,某一个地方出现问题,更改自己的那一亩三分地儿就可以了,不会牵扯到其他人,增强了代码的重用性,我们知道三层架构设计得到一个实体类Model或者Entity,

•实体类实现所谓的对象关系映射(Object Relational Mapping,简称ORM),是为了解决面向对象的类与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。本质上就是将数据从一种形式转换到另外一种形式。
我的理解就像java的OOP,把现实中的事物抽象出一个具有某种属性的对象,在数据库中有ID,UserName等,在设计对象或者实体的时候也有这种属性与数据库中的相对应,然后从数据库中取出的东西,可以存在这个对象中。

•简单地说,就是描述一个业务实体的类。
–例如:在登录系统中,每个用户的信息作为一行存储在数据库的表中,在BLL和UI层如果直接访问表的某行某列很不方便,但是如果将表中一行的信息转换到一个对象中,使用就十分方便,这个对象所属的类就是实体类。
–实体类对象是现实世界中实体对象在计算机中的表示,在层与层之间以及层内模块间进行数据传输。
–实体类可以分为“贫血实体类”和“充血实体类”,前者仅仅保存实体的属性,而后者还包含一些实体间的关系与处理逻辑。

这个途中都没有sqlite!哪位朋友实现了用sqlite并且涉及对配置文件的读写,还有基于Base64编码,请通知我一声,感激不尽。

具体的实现,请看  原文http://blog.csdn.net/zc474235918/article/details/24835071,大神写的很详尽,非常感谢他,让我收获很多。

本次实验遇到的问题:忘记c#中通配符怎么写了,不过上面那个网址上有,我就不多说了,select查询的时候,总是出现说1.列名无效,后来发现原来where username=?,?这里,比如zhangsan,要加单引号,即'zhangsan'。。。希望大家以我为戒。。

2.我是把取到的东西存在了DataTable中,在取里面具体属性的值时,要用dt.Row[0]["**"],**位你要取得属性的名称,比如dt.Row[0]["username"];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: