- C#项目开发全程实录(第4版)
- 明日科技编著
- 901字
- 2021-03-30 23:59:26
1.5 公共类设计
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P19_12365.jpg?sign=1739347568-jiQZFP2LND1tm3qRxHNMPd64EuvD645m-0-77457f00e61436a41ff4e66f959898f0)
视频讲解
在开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也大大方便了代码的管理。本系统中创建了公共类ClsCon.cs,并且还为每个数据表建立了自己的实体类和方法类。在此只介绍一张数据表所对应的实体类和方法类,其他数据表所对应的类,可参见本书资源包中的源程序。
1.5.1 程序文件架构
主文件架构如图1.14所示。
员工信息和用户信息管理文件架构如图1.15和图1.16所示。
求租管理和常用工具文件架构如图1.17和图1.18所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P20_52049.jpg?sign=1739347568-omIgUmEqwdCJAni6XkNM9BgzTtjfaCrD-0-a025efe63dfa844ce0bed95c60a618b6)
图1.14 主文件架构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P20_52050.jpg?sign=1739347568-5XBhwtBw8RPrUzKumaWroNqujzbfRqWe-0-db311039399f7ae4f98fb39bee56ccd5)
图1.15 员工信息管理文件架构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P20_52051.jpg?sign=1739347568-Ag2TtSgds9zlt7hgl8Sasmf6u0E763Oo-0-0308e15117f9ec6ceba1fe441a4142e8)
图1.16 用户信息管理文件架构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P20_52052.jpg?sign=1739347568-GvaVlMqCwqBLJdmxMhrHuVNvZXiSRNGo-0-647d6e563d5779b058fa11cbd61e0d88)
图1.17 求租管理文件架构图
出租管理文件架构如图1.19所示。系统管理文件架构如图1.20所示。
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P20_52053.jpg?sign=1739347568-3SCPvylRPxMMmcJPAAwYKIMw6SNJSIJ2-0-5fba39fcbcec99418bd1926526859174)
图1.18 常用工具文件架构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P20_52054.jpg?sign=1739347568-cGD7BeI6yJedZK0i0wgf8t9eYuOXSL0Z-0-29c1415f5b1b33f7c9d3e78bb1f68ad8)
图1.19 出租管理文件架构图
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P20_52055.jpg?sign=1739347568-1DJF8Y2eWfTS97W2IeK2KrrWLQ4JToH8-0-ac381856f5cbe8e776286e8b1b368e74)
图1.20 系统管理文件架构图
1.5.2 ClsCon类
ClsCon主要用于创建数据库连接及关闭打开的数据连接,需要引入System.Data和System.Data.SqlClient两个命名空间,其关键代码如下:
例程01 代码位置:资源包\TM\01\houseAgency\mothedCls\ClsCon.cs
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P21_52056.jpg?sign=1739347568-9orOlt0KJtYE5XfHzx9NLZgnmt77Pw0d-0-5eb3ffab4af60cc9b09138745a843582)
接下来,对上面代码中的自定义方法进行详细介绍。
1.ConDatebase()方法
ConDatebase()方法用于建立数据库连接,其实现代码如下:
例程02 代码位置:资源包\TM\01\houseAgency\mothedCls\ClsCon.cs
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P21_52057.jpg?sign=1739347568-Uo3gDbLZsKW10ej1ZnCl9snT1bI3RzHn-0-03727d306191cf4beaa2f27201795a00)
2.closeCon()方法
closeCon()方法实现关闭打开的数据库连接,其实现代码如下:
例程03 代码位置:资源包\TM\01\houseAgency\mothedCls\ClsCon.cs
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P21_52058.jpg?sign=1739347568-tJ5v7mCno7zST7Ixe4g3mnL2y9gYlsOM-0-2c1f54543ca1e0290ff27744a687ef09)
1.5.3 clsFavor类
clsFavor实体类将tb_favor数据表的字段通过GET、SET访问器封装起来,其实现代码如下:
例程04 代码位置:资源包\TM\01\houseAgency\mothedCls\ClsFavor.cs
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P22_52059.jpg?sign=1739347568-HbtUO3TqbZbeLArXy95g0vyAcJ0lRQNt-0-a2135e77fe9a50e8f56a09eb61181d11)
说明
在定义实体类时可以为其属性指定默认值,这样可减轻前台的负担。
1.5.4 claFavorMethod类
claFavorMethod类封装了对tb_favor数据表进行插入、修改和删除等操作的方法,由于封装的这3种方法在实现技术上类似,所以这里只介绍对tb_favor表进行插入操作的方法—insert_table()方法。
insert_table()方法首先通过实体类取出信息,然后调用数据库中的存储过程来得到执行结果,最后把执行结果传递给表示层,其实现代码如下:
例程05 代码位置:资源包\TM\01\houseAgency\mothedCls\ClsFavorMethod.cs
![](https://epubservercos.yuewen.com/64AA3F/13043251004879506/epubprivate/OEBPS/Images/Figure-P22_52060.jpg?sign=1739347568-Vvmfmbs6nGNsseUw98BoVsaF5IRcYOvK-0-eef5061e3e891184b09f924ebea624fd)
代码贴士
❶ 为SqlCommand指定要调用的存储过程名proc_favor_insert。
❷ 定义CommandType为StoredProcedure存储过程。
❸ 通过SqlParameter数组为SqlCommand定义参数,同时指定大小类型等,参数名要与存储过程中的参数名相同。
❹ 初始化SqlParameter类的一个新实例,该类使用参数名、参数的类型、参数的长度、方向、精度、小数位数、源列名称、DataRowVersion值之一、用于源列映射的布尔值、SqlParameter的值、此XML实例的架构集合所在的数据库的名称、此XML实例的架构集合所在的关系架构以及此参数的架构集合的名称。
❺ 获得存储过程的返回值。