77范文网 - 专业文章范例文档资料分享平台

《数据库课程设计》任务与指导手册2013(V2.0) - 图文(4)

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

4. 添加新项目BookManage.BLL

操作与BookManage.Model类似,项目名称设置为:BookManage.BLL。VS .NET编译后产生BookManage.BLL.dll文件。至此,解决方案参见图5。

图5 图书管理项目解决方案

5. 设置启动项目和项目引用关系

在解决方案中设置BookManage为启动项目(“BookManage”右键菜单“设为启动项目”)。 项目引用关系如表2所示。如BookManage.BLL项目引用DAL和Model,其设置方法:解决方案中项目“BookManage.BLL”的右键菜单“添加引用”,并按图6进行设置。

表2 项目引用关系。 BookManage BookManage.BLL BookManage.DAL BookManage.Model BookManage BookManage.BLL BookManage.DAL BookManage.Model

- √ - × √ - √ √ √ -

图6 给BookManage.BLL项目添加引用

16 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

6.4 类总体设计(迭代1)

实体类、数据访问层类、业务逻辑层类、表示层窗口类的初步设计如表3。 表3 实体类、数据访问层、业务逻辑层的类设计 层 实体类模块 (Model) 类名 ReaderType Reader Book Borrow 数据访问层 (DAL) ReaderTypeDAL ReaderDAL BookDAL BorrowDAL SQLHelper 业务逻辑层 (BLL) ReaderTypeAdmin ReaderAdmin BookAdmin BorrowAdmin UserAdmin 表示层 (UI) frmLogin frmMain frmReader … 说明 读者类型实体类 读者实体类 图书实体类 借阅记录实体类 读者类型数据表访问类(插、删、改、查、存储过程等) 读者数据表访问类(插、删、改、查、存储过程等) 图书数据表访问类(插、删、改、查、存储过程等) 借阅数据表访问类(插、删、改、查、存储过程等) 微软提供的对SQL Server数据库进行访问的通用类 读者类型管理类,实现插、删、改、查等信息维护操作。 读者管理类,实现借书证办理、变更、补办、挂失、解除挂失、注销等用例中的各种系统操作。 图书管理类,实现图书管理各用例中的系统操作 借阅管理类,实现借书、还书、续借等用例中的系统操作。 用户管理类, 登录窗口类 程序主窗口类,含菜单、工具栏、状态栏等 读者管理窗口类 6.5 Model层实体类设计

在BookManage.Model项目中添加4个实体类:ReaderType、Reader、Book、Borrow,分别对应4个数据库表。实体类的属性与数据库表结构保持一致(名称、类型);实体类应尽量简单,除了实体对象的复制与比较等方法外,不宜添加过多方法。

其实实体类就是实现ORM。

ORM Object Relational Mapping 对象关系映射,是为了解决面向对象的类,与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。本质上就是将数据从一种形式转换到另外一种形式。

ORM是一个广义的概念,适应于关系数据库与应用程序之间的各类数据转换,目前有许多自动转换工具可用,如codesmith 等,也可手工书写实体类代码来实现ORM。 1. ReaderType

在Model项目中添加新建项:C#代码类ReaderType.cs,如图7所示。

17 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

图7 添加C#代码类文件ReaderType.cs

表字段映射为实体类属性的基本方法(VS 2005及以上版本)如下:

private string _rdTypeName; public string rdTypeName {

get { return _rdTypeName; } set { _rdTypeName = value; }

}

而在VS 2008及以上版本中可简化为:

public string rdTypeName { get; set; }

表4 SQL字段类型与实体类属性类型的映射关系 SQL Server字段类型 nchar, nvarchar, text int, smallint numeric(12,0) datetime Float, money bit image DataTable中类型 System.String System.Int32, System.Int16 System.Decimal System.DateTime C#实体类设计属性 string int long DateTime System.Single, System.Decimal float System.Boolean System.Byte[] bool Byte[] 在VS 2008及以上版本中ReaderType类的实现代码如下: 18 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

在VS 2005(含2008及以上版本)中ReaderType类的实现代码如下:

19 / 46

《图书管理系统》C# 设计指导书 V2.0 2013.8.1 — 9.20 LSH

另外,可添加复制构造函数,如下:

public ReaderType(ReaderType rt) {

this.rdType = rt.rdType;

this.rdTypeName = rt.rdTypeName; this.CanLendQty = rt.CanLendQty; this.CanLendDay = rt.CanLendDay;

this.CanContinueTimes = rt.CanContinueTimes; this.PunishRate = rt.PunishRate; this.DateValid = rt.DateValid; }

2. Reader3. Book

类(略)

类(略) 类(略)

4. Borrow

6.6 DAL层类设计

除SqlHelper外,每个数据库表对应一个DAL层类,主要实现该表的插删改查操作。 1. SqlHelper

20 / 46

在BookManage.DAL项目中添加SqlHelper.cs文件,该类是微软SqlHelper类(参见文件“参

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《数据库课程设计》任务与指导手册2013(V2.0) - 图文(4)在线全文阅读。

《数据库课程设计》任务与指导手册2013(V2.0) - 图文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/415861.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: