`
yanfaguanli
  • 浏览: 662457 次
文章分类
社区版块
存档分类
最新评论

MFC原创:三层架构01(人事管理系统)DAL

 
阅读更多

VC++/MFC Window编程原创教程目录

C++课程设计来着。但还没学过数据,也还没理解过三层架构,就把这个作业深化点来做了。虽然要做的这个人事管理系统看起来是挺简单的,无非就是处理员工信息。但事情就是那样,只有动手了才知道什么叫做现实。
一开始是没想要用三层架构的,我们小组人员能力参差不齐,那就只能从控制台(黑窗口)做起。后来我想做三层架构的时候,发现这是对的。从网上理解到的资料:三层有3层:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。最好是从逻辑层做起,而我们做的适合控制台的代码,应该就是逻辑层的代码。现在我要在BLL调用DAL的数据,然后在UI调用BLL的数据,就可以实现三层架构了。
(现在是2012-11-06的理解,并且在逻辑层数据已经做得差不多的情况下动手。后面增加的理解再加在这里:11-07,写了一遍DAL的代码,可以保存起来,以后可以稍微修改就直接应用其他软件;功能插件化的话,直接加到BLL层就可以给软件加多一个插件了;需要修改数据库类型,只需要修改DAL层即可;)
一步步开始,首先是设计员工信息的属性。一份员工信息表,我需要记录的信息有:编号,姓名,性别,年龄,学历,电话,所属部门,职位,入职时间,工资,邮箱。(11-08开始做UI层的时候,发现还有些数据还需要处理,比如管理员账户密码,员工图像,在职或离职或实习,员工修改信息后记录备份可以看调职信息,这些后面再考虑吧,先放着);
然后我要写一些函数处理这些信息:增、删、查、改、排序。
接下来就是类的设计。是要一开始就创建MFC呢还是先创建控制台方便调试?我也不清楚,但我写这篇文章的时候,类的设计与实现,一个组员都已经做好了,我看懂后就直接拿来用了。所以本教程直接创建MFC单文档(项目名称Staff)!
本来是想先做BLL层的,但组员提供的是访问文本类型的数据操作,直接改成数据库访问的方式感觉乱乱的,所以就先写DAL层吧。DAL层就是专门写处理数据库数据的函数。我现在理解的DAL层,就只放简单的所有数据操作函数就好,然后在BLL层针对不同功能调用DAL函数。上层不直接操作数据库,对后期程序的功能增添或者维护应该会很有帮助。
连接数据库也是很麻烦的事,从零开始自学总是要走很多弯路的,搞了好几天,我才找到一个比较简单的连接方式【ADO数据库访问】(最简单的是通过MFC创建向导直接生成数据库类,但那样不利于理解)。
开始!
1.下载安装Microsoft Office Access 2003
2.使用Microsoft Office Access 2003新建数据库(名字为:StaffMessage.mdb),保存在D:\data,双击使用设计器创建表,填写信息如下:

(后面发现设计少了年龄,再补上去吧)
注意:id---数据类型为数字--光标定在数字那里,下面可以选择整形;phone和workTime是长整形,salary是单精度型,其它都是默认文本类型。
关闭表的时候会提示保存,保存名字为StaffMessage,提示尚未定义主键,选择是。
3.把这个数据库文件添加到你计算机的数据源。
控制面板--管理工具--数据源--用户DSN--添加--Microsoft Access Driver(*.mdb)--完成:数据源名为StaffMessage,数据库选择D:\data\StaffMessage.mdb。(添加的时候,把Microsoft Office Access 2003关了,不然可能加不了)
4. 下面是增加头文件(StaffDAL.h),我就贴图片就好了。完成程序后再把源程序代码发上来。

5.头文件的类包含的东西,暂时就想到这些。DAL层做了一天,做得怎么快的原因,是因为我之前练习过,理解过,现在就整理整齐转过来而已。一层一层步骤我也按顺序写了,方便以后修改的时候不乱。接下来是类的实现代码,写在了StaffDAL.cpp。

















写完这些,就先测试一下。View类添加个StaffDAL sdal;菜单栏加多一个按钮,添加按钮处理函数。写上
sdal.Connect();

sdal.AddNew();//可以在这个函数修改m_id等值测试
sdal.Close();
//我运行点击时,出现错误。起初是数据源名字写成而连不上数据库,修改好之后,点击按钮,提示内存错误是否继续,点击继续,可以继续运行。第二次增加记录的时候就不提示错误了,所以估计是因为原来的表是空表的原因。
程序做到这里,我也写完到这里,第一节结束,其它部分能不能实现还是未知数呵呵。先发了,然后吃饭去咯(以前写的教程都是存在草稿箱一段时间的。。。)。
分享到:
评论

相关推荐

    ASP.NET高级编程:三层架构概述.pptx

    本次任务希望大家了解什么是三层架构,为什么使用三层,以及三层架构编程模式的原理、优势,为用三层架构模式编写校园BBS系统做好准备。 校园BBS “三层架构概述”知识要点 为什么要使用三层架构 什么是三层架构 三...

    最简单,最适合入门学习的三层架构例子

    (开始说正题 )有很多入门学者在为三层架构感到困惑,不知三层架构如何实现,现在本人详细地详一个简单的例子来说明三层架构的实现,至于三层架构是什么原理,老大说得很详细了,本人不再重复。 最后,说下各层的...

    DAL层(三层架构中的)

    三层架构中的DAL层,连接sqlsever数据库,其他数据库也可,因资源确实比较珍惜实用(我做东西一直在用这个),网络上没见过相同的代码,所以资源分比较高,若下载后不能用,请联系我~

    三层架构入门讲解(c#)UIL、BLL、DAL

    c#三层架构入门讲解三层架构入门讲解(c#)UIL、BLL、DAL三层架构入门讲解(c#)UIL、BLL、DAL

    ASP.NET三层架构留言板源码

    ASP.NET三层架构留言本项目源码 学习了三层架构后,写的一个ASP.NET 三层架构留言本,数据库是SQL Server 2000. 很简单的一个留言板,学习三层的朋友可以看下.功能没有写太多,主要是练习一下怎样实现三层架构 因是...

    基于c#的asp.net三层架构的博客系统

    基于c#的asp.net三层架构的博客系统,包括dal、bll、model、ui界面的设计

    超市进销存管理系统(带数据库)基于三层架构的超市进销存管理系统

    C#基于三层架构的超市进销存管理系统,带数据库,数据库在DAL文件夹里

    基于3层架构的asp.net客户信息管理系统

    3层架构,App_Code/Base目录是模型,App_Code/BLL是业务层,App_Code/DAL是数据层

    什么是三层架构_表现层/业务逻辑层/数据访问层

    三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

    Vs2005+Access+Extjs三层架构源码

    Vs2005+Access+Asp.net+Extjs简单三层架构源码 由51编程网站提供,代码由51编程-代码器自动生成。 共生成5种文件格式: Model: 实体层 BLL : 逻辑层 Dal: 数据层(主键自动增长,新增时都需要屏蔽) Ext.aspx: ...

    三层架构留言本项目源码

    学习了三层架构后,写的一个ASP.NET 三层架构留言本,数据库SQL2000是. 很简单的一个留言板,学习三层的朋友可以看下.功能没有写太多,主要是练习一下怎样实现三层架构 因是初学三层架构,不知我的理解正不正确,不对...

    三层架构物流管理系统(包含项目开发文档)

    本系统采用3层结构和抽象工厂反射DAL(数据访问层)使DAL实现可替换的,自己写的DAL层只需继承IDAL层然后修改web.config文件中的<add key="DAL" value="LogisticsSystem.SQLServerDAL" />把value值改成您的DAL层的...

    三层架构【ASP.net】.zip

    ASP.NET就业实例教程第四章:三层架构——让代码结构更清晰-----...三层架构:表现层(UI),业务逻辑层(BLL),数据访问层(DAL) 项目:学生管理系统 功能:登录,修改密码,展示学生信息,添加、删除、修改学生信息

    基于三层架构的asp.net客户管理系统

    vs2005 + sql2005, c# ,3层架构,App_Code/Base目录是模型,App_Code/BLL是业务层,App_Code/DAL是数据层

    三层架构 DAL BLL UIL 三层架构图解

    具体介绍三层架构概念和原理,以及它的在实际行业软件开发的效用和规则。有具体的三层架构图解!

    三层架构实现全选、反选以及多项删除

    这是三层架构实现全选反选以及多项删除等功能的实现

    三层架构房产中介管理系统

    用DAL,BLL,UI三层搭建的C# winform房产中介管理系统

    ASP.NET三层架构实例

    使用一个简单的留言板实例讲解.NET三层架构开发。包括BLL/DAL/UI层具体代码,内含数据库(VS2010+SQL2000)

    三层架构及设计模式(抽象工厂实现)

    三层架构实现,把表现层(WebUI)与数据访问层(DAL)分开,使用业务逻辑进行处理(BLL), 避免了把数据信息暴露在表现层, 从而提供了程序的性能,使用业务逻辑处理与表现层进行交互, 把表现层的需求,通过...

    适合入门学习的三层架构例子源码

    (开始说正题 )有很多入门学者在为三层架构感到困惑,不知三层架构如何实现,现在本人详细地提供一个简单的例子来说明三层架构的实现,主要与GridView结合讲解,并实现分页。 最后,说下各层的引用关系: 1)DAL引用...

Global site tag (gtag.js) - Google Analytics