第28页 共53页
for i:=1 to wid-len-length(xhstr) do xhstr:='0'+xhstr;
bh:=sql_condition+xhstr; Q_xh.close; end;
//获取系统时间
procedure Tcommon.getsysdate(out sysdate: OleVariant); begin
sysdate := FormatDateTime('yyyy-mm-dd', Date); end; //数据备份
procedure Tcommon.sjbf(bfwjm: OleVariant); begin
SP_sjbf.Parameters.ParamByName('databasename').Value := 'house'; SP_sjbf.Parameters.ParamByName('dellast').Value := 'del ' + bfwjm; SP_sjbf.Parameters.ParamByName('bakfilename').Value := bfwjm; SP_sjbf.Prepared; SP_sjbf.ExecProc(); end; //数据恢复
procedure Tcommon.sjhf(bfwjm: OleVariant); begin
SP_sjhf.Parameters.ParamByName('databasename').Value := 'house'; SP_sjhf.Parameters.ParamByName('datafilename').Value := 'c:\\house\\data\\house_data.mdf';
SP_sjhf.Parameters.ParamByName('logfilename').Value := 'c:\\house\\data\\house_log.ldf';
SP_sjhf.Parameters.ParamByName('bakfilename').Value := bfwjm; SP_sjhf.Prepared; SP_sjhf.ExecProc(); end;
第29页 共53页
5 客户端设计
5.1 客户端应用程序流程图
在启动客户端应用程序时,将首先连接应用服务器得到数据和服务,若连接成功,便进入登录窗口进行用户的身份验证。如果用户的身份验证通过,就可以进入系统的主界面进行业务的操作和查询了。客户端应用程序的系统流程图如图4.3所示。
连接应用服务器连接失败连接成功身份验证身份验证失败房源管理身份验证成功进入主界面功能权限验证查询管理业务处理
图5.1 客户端应用程序流程图
5.2 客户端数据模块设计
⑴在Delphi中新建一个应用程序,将项目文件保存为house.dpr,主窗体单元文件保存为mainpagef.pas。将窗体的Name属性设为mainpagef,Caption属性设为“二手房租售管理系统”,在窗体上放置一个TMainMneu控件,将其Name属性设置为MainMenu1,MainMenu组件的菜单项设计如功能结构图3.1所示。
⑵新建一个数据模块,将单元文件命名为dm.pas,将数据模块命名为DMf,在上面放置连接组件Socketconnection,分别命名为ADOC_common,ADO_house,设置Address、server、ServerName等属性,用于连接创建好了的应用服务器,运用SocketConnection组件必须首先运行位于Delphi安装目录下的bin目录下的scksrvr.exe程序,才可以利用它来连接应用服务器。然后把一个或几个ClientDataset组件放到数据模块上,设置RemoteServer、ProviderName等属性。指定要连接的Socketconnection和应用服务器上的DataSetProvider。在数据模块的单元文件中,存放一些公用的函数和记录参数,例如
第30页 共53页
查询/选择确认标志,按钮增加还是编辑,通用查询中的form名,datagrid名等。
⑶新建一个单元文件,将此单元文件保存为uPubFunc.pas,此单元文件用来存放加密解密函数,打印函数。
客户端数据模块如图5.2所示。
客户端应用程序的主界面如图5.3所示。
图5.2 客户端数据模块图
图5.3 客户端数据模块图 第31页 共53页
6 基本信息模块设计
6.1 信息查询模块的体系结构设计 6.1.1 基本信息模块功能简介
基本信息模块主要包括三部分:房源信息、客户信息、收费标准信息。信息模块中包括数据的增加、编辑、删除、刷新、输出等操作。建立房源、客户以及收费标准信息库,在房屋信息中主要有房源的房屋编号、房屋位置、房型、房屋朝向、房屋面积、房屋设施、建房日期、备注、业主编号、业主姓名等信息;在客户信息中主要有业主和需求客户的编号、客户姓名、客户性别、客户年龄、民族、身份证、联系方式、地址、备注等信息;在收费标准信息中主要有收费编号、房屋类别、收费标准、收费说明、备注等信息。数据的增加、删除和编辑是对数据库的正常维护,用户可通过各种条件组合快速查询到基本信息。 6.1.2 基本信息功能模块图
基本信息 房屋信息 客户信息 图6.1 基本信息功能模块图 收费标准
6.2 基本信息模块的详细设计
6.2.1 房屋信息子模块设计
此界面的主要功能是实现房源信息的录入、删除、编辑、查询、刷新操作以及对房源基本信息的录入发布操作。在界面上放置TDatasource命名为DS_house_info,设置其DataSet为CDS_house_info,放置TClientDataset,设置其RemoteServer为DMf.SCKT_house。房屋浏览界面如图6.2所示。
图6.2 房屋信息浏览界面 第32页 共53页
对于数据集的添加通过单击“增加”按钮来完成,我们只需要调用TClientDataset组件的Insert方法可以使数据集处于增加状态,数据集增加的具体实现代码如下代码如下:
procedure Tlhouse_infof.SB_insertClick(Sender: TObject); begin
ISinsert := true;
ldhouse_infof := Tldhouse_infof.create(nil); with ldhouse_infof do try
ShowModal; finally Free; end; end;
房屋信息录入界面如图6.3所示:
图6.3 房屋信息录入界面 对于数据集的编辑可以通过单击“编辑”按钮完成,编辑功能的实现类似于增加功能的实现,通过调用TClientDataset组件的Edit方法,使数据集处于编辑状态,编辑界面与录入界面类似,如图6.3所示。数据集编辑的具体代码如下所示:
procedure Tlhouse_infof.SB_editClick(Sender: TObject);
begin
if not CDS_house_info.IsEmpty then begin
ISinsert := false;
ldhouse_infof := Tldhouse_infof.create(nil); with ldhouse_infof do try
ShowModal; finally Free; end;