C#项目开发全程实录(第4版)
上QQ阅读APP看书,第一时间看更新

1.7 用户信息管理模块设计

视频讲解

1.7.1 用户信息管理模块概述

用户信息管理模块主要用于管理用户信息。其中包括两种用户类型,即出租方和求租方。如果出租方仅仅提供个人基本信息而没有提供房源信息,则可以通过本系统提供的垃圾信息清理机制将其清除。用户信息管理窗体运行结果如图1.22所示。

图1.22 用户信息管理窗体

1.7.2 用户信息管理模块技术分析

本模块提供了查询“出租人”和“求租人”的功能,并且可以通过设置多个查询条件来查询,这就需要动态设置具有查询功能的SQL语句,本实例使用StringBuilder类的Append()方法来实现动态连接SQL语句,该方法的重载形式有多种,本模块用到的语法格式如下:

    public StringBuilder Append(string value);

 value:要追加的字符串。

 返回值:完成追加操作后对StringBuilder类型实例的引用。

该Append()方法实现在StringBuilder类型实例的结尾追加指定字符串的副本。

例如,下面的代码实现根据客户编号、客户名称、客户电话号码等多个条件实现动态查询“求租人”或“出租人”记录。

1.7.3 用户信息管理模块实现过程

 本模块使用的数据表:tb_User

用户信息管理模块的具体实现步骤如下。

(1)新建一个Windows窗体,命名为frmPeopleList.cs,用于设置用户信息。该窗体主要用到的控件及属性设置如表1.9所示。

表1.9 用户信息管理窗体主要用到的控件

(2)声明局部变量及公共类ClsCon的对象,通过该对象调用类中的方法,以实现数据库连接,代码如下:

例程11 代码位置:资源包\TM\01\houseAgency\UserInfor\frmPeopleList.cs

在frmPeopleList窗体的Load事件中,通过调用自定义ListInfo()方法对DataGridView控件进行数据绑定,显示所有系统用户信息。窗体Load事件的关键代码如下:

例程12 代码位置:资源包\TM\01\houseAgency\UserInfor\frmPeopleList.cs

 代码贴士

❶ 在加载时为StringBuilder对象sbSql赋初值。

❷ 在加载时控制选项卡中的TextBox控件。

自定义UnAble()方法,主要用来批量设置容器控件中相关控件的Enabled属性。代码如下:

例程13 代码位置:资源包\TM\01\houseAgency\UserInfor\frmPeopleList.cs

自定义ListInfo()方法,该方法接受查询语句,用来将查询结果绑定到ListView控件。代码如下:

例程14 代码位置:资源包\TM\01\houseAgency\UserInfor\frmPeopleList.cs

单击listView控件中的任一单元格,将对应的详细客户信息显示在相应选项卡的文本框中。实现代码如下:

例程15 代码位置:资源包\TM\01\houseAgency\UserInfor\frmPeopleList.cs

当用户选择“出租人”选项卡或“求租人”选项卡时,在相应的选项卡页中显示客户信息。实现代码如下:

例程16 代码位置:资源包\TM\01\houseAgency\UserInfor\frmPeopleList.cs

单击“删除”按钮,删除相关的客户信息,同时自动调用触发器trig_delete_tbUser,删除出租人所提供的房源信息。程序中实现代码如下:

例程17 代码位置:资源包\TM\01\houseAgency\UserInfor\frmPeopleList.cs

说明

有关触发器的代码可参见本书资源包。