在WinForm窗体中使用三层架构和泛型集合做一个简单查询

我们先简单了解什么是WinForm(Windows窗体)?

        WinForm(Windows 窗体)是用于生成 Windows 桌面应用的 UI 框架。 它提供了一种基于 Visual Studio 中提供的可视化设计器创建桌面应用的高效方法。 利用视觉对象控件的拖放放置等功能,可以轻松生成桌面应用。

使用 WinForm(Windows 窗体),可以开发包含丰富图形的应用,这些应用易于部署和更新,并且在脱机状态下或连接到 Internet 时都可正常工作。 Windows 窗体应用可以访问运行应用的计算机的本地硬件和文件系统。

详细简介可以看(Windows窗体.net api):

Windows Forms .NET | Microsoft Learn
   

        想要在winform中实现三层架构非常简单,但是首先我们得先了解了解三层架构
三层架构:三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。三层架构可以使开发人员分工更明确,将精力更专注于应用系统核心业务逻辑的分析、设计和开发,加快项目的进度,提高了开发效率,有利于项目的更新和维护工作。
详细介绍:三层架构详解 | 菜鸟教程 (runoob.com)

        首先得先创建一个Windows窗体应用

        新建一个Windows窗体应用后,需要再新建3个类库作BLL,DAL和Model。

类库创建完后,右边解决方案如图:
  

          接下来开始创建Model,DAL和BLL。

Model类(用户实体类):

        首先创建我们的用户实体类,作为我们据传递的载体。双击进入Model类的class1.cs中,把他更改成用于代表数据的封装类,如图中所示:

        红色线为该类的名称,绿色线内为该类所要封装的数据和数据类型(这些全部取决于你要进行链接的数据库的数据表的设计的字段的名字,还有他的数据类型)。
        对每个数据创建get和set方法,如图:

        写完实体类所有get和set方法后,Model类就写完了,如果想要创建新的用户实体类,可以在Model类新建子类,例如和我的Mo同级文件。

DAL(数据访问层):

        本次使用泛型集合来对数据进行查询操作

       首先要创建一个核心数据库链接数据库并且对其进行操作的核心类,这个类一般以DBXXX这样的规则来命名。操作也是可以像上述一样直接更改class1.cs类,并且重新命名(我这里把它命名成DB)填充数据库操作类,该类包含对数据库的链接,还有对数据的操作,还有对数据库链接关闭本次只做了数据库单项查询和关闭。

        如图所示,我们需要数据库链接对象SwlConnction,创建该对象前需要引用SqlClient,也可以向下图DAL结尾类来进行操作:

        创建好数据库操作类DB.cs后,再次新建一个类,作为数据库查询类,我们要需要链接数据库进行查询并且返回查询结果,该类的命名需要使用DAL进行结尾:

         当出现如下飘红情况直接选中飘红部分alt+回车键选中引用(这个是由于我没有进行引用Model类导致,而是直接使用了Model类的内容导致的,上面SqlConntion创建时也是,引用一下就好了,像下图中添加Model类引用):

选中最下面一个添加引用,问题就能解决。

BLL(业务逻辑层):


        也还是一样,可以选择更改或者直接使用重新给class1.cs命名然后更改。如图中所示:

UI(用户表示层)

        在工具箱中将datagraview拖出,然后再拖出一个butoon。

        双击button按钮,对该按钮的单击操作进行设置(将数据填充到datagraview组件内)

如图:

        然后启动项目点击button就能进行简单的查询了。

补充:

       补充一下DAL:
u.CaseID=右边是数据库获得的数据
        根据查询所得顺序获得对应字段的内容,下面的以此类推。最后将获得的数据使用Add方法添加到集合中。本次只是使用三层架构的形式对数据进行简单的查询功能,如果还需要进行增、删、查、改,需要对DAL内的核心DB类进行添加新数据库操作方法,然后对DAL类添加新的数据库操作方法实现,在BLL中调用DAL的方法,然后在表示层根据相应的功能传入相应的参数。获得反应输出到窗体中。

        如果对组件不了解的可以去.net api文档:.NET API 浏览器 | Microsoft Learn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值