《数据库应用技术——Delphi应用系统开发》-第十章.ppt
《《数据库应用技术——Delphi应用系统开发》-第十章.ppt》由会员分享,可在线阅读,更多相关《《数据库应用技术——Delphi应用系统开发》-第十章.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第10章章 SLMIS集成与运行集成与运行n n本章学习要点本章学习要点l学习SLMIS系统的总体设计l掌握数据模块的创建与使用l掌握界面设计方法与技巧l掌握视图在查询中的应用l掌握存储过程的创建与使用Microsoftn nSLMISSLMIS售售售售楼楼楼楼管管管管理理理理系系系系统统统统是是是是一一一一个个个个典典典典型型型型的的的的客客客客户户户户/服服服服务务务务器器器器(C/SC/S)体体体体系结构的数据库应用系统。系结构的数据库应用系统。系结构的数据库应用系统。系结构的数据库应用系统。n nC/SC/S模模模模式式式式的的的的基基基基本本本本工工工工作作作作原原原原理理理理是是
2、是是:客客客客户户户户程程程程序序序序向向向向数数数数据据据据服服服服务务务务器器器器发发发发送送送送SQLSQL请请请请求求求求,服服服服务务务务器器器器返返返返回回回回数数数数据据据据和和和和结结结结果果果果。客客客客户户户户端端端端负负负负责责责责实实实实现现现现用用用用户户户户接接接接口口口口功功功功能能能能,同同同同时时时时封封封封装装装装部部部部分分分分或或或或全全全全部部部部的的的的应应应应用用用用逻逻逻逻辑辑辑辑。服服服服务务务务器器器器端端端端的的的的数数数数据据据据库库库库服服服服务务务务器器器器主主主主要要要要提提提提供供供供数数数数据据据据存存存存储储储储功功功功能能能
3、能,也也也也可可可可通通通通过过过过触触触触发发发发器器器器和和和和存存存存储储储储过过过过程程程程提提提提供供供供部部部部分分分分应应应应用用用用逻逻逻逻辑辑辑辑,并并并并且且且且通通通通常常常常把把把把那那那那些些些些不不不不同同同同的的的的(不不不不管管管管是是是是已已已已知知知知的的的的还还还还是是是是未未未未知知知知的的的的)前前前前台台台台应应应应用用用用所所所所不不不不能能能能违违违违反反反反的的的的规规规规则则则则在在在在服服服服务务务务器器器器程程程程序序序序中中中中集集集集中中中中实实实实现现现现,例例例例如如如如访访访访问问问问者者者者的的的的权权权权限限限限、编编编编号
4、号号号不不不不准准准准重重重重复复复复等等等等规规规规则则则则。所所所所有有有有这这这这些些些些,对对对对于于于于运运运运行行行行客客客客户户户户应应应应用用用用程程程程序序序序的的的的最最最最终终终终用用用用户户户户,是是是是“透透透透明明明明”的的的的,最最最最终终终终用用用用户户户户无无无无须须须须过过过过问问问问(通通通通常常常常也也也也无无无无法法法法干干干干涉涉涉涉)这这这这背背背背后后后后的的的的过过过过程程程程,就就就就可可可可以以以以完完完完成成成成自自自自己己己己的的的的一一一一切切切切工工工工作作作作。在在在在客客客客户户户户服服服服务务务务器器器器架架架架构构构构的的的
5、的应应应应用用用用中中中中,数数数数据据据据库库库库真真真真正正正正变变变变成成成成了了了了公公公公共共共共、专专专专业业业业化化化化的的的的仓仓仓仓库库库库,受到独立的专门管理。受到独立的专门管理。受到独立的专门管理。受到独立的专门管理。n n本本本本章章章章将将将将介介介介绍绍绍绍SLMISSLMIS数数数数据据据据库库库库系系系系统统统统集集集集成成成成以以以以及及及及系系系系统统统统运运运运行行行行调调调调试试试试方方方方法法法法,最终完成这个传统最终完成这个传统最终完成这个传统最终完成这个传统C/SC/S结构管理信息系统的全面设计。结构管理信息系统的全面设计。结构管理信息系统的全面设
6、计。结构管理信息系统的全面设计。Microsoft10.1 工程总体设计工程总体设计 房房屋屋售售楼楼管管理理系系统统是是一一个个商商品品房房从从录录入入、销销售售、合合同同制制作作到到结结算算的的管管理理信信息息系系统统。系系统统总总体体设设计计和和数数据据库库设设计计已已在在第第1章章中中详详细介绍,下面重点讲解工程总体设计。细介绍,下面重点讲解工程总体设计。10.1.1 工程窗体结构设计工程窗体结构设计Delphi中,应用程序通过一个工程Project来实现,而工程通过多个窗体Form来实现应用程序所具有的功能。与售楼管理系统的系统功能模块相对应,工程中窗体的结构如图10-1所示。Mic
7、rosoftMicrosoft 运运行行Delphi将将新新建建一一个个工工程程,其其包包含含一一个个空空白白窗窗体体。在在此此工工程程中中在在新新建建14个个空空白白窗窗体体Form(在在这这里里不不包包括括策策划划管管理理和和销销售售前前台台主主界界面面窗窗体体),将将工工程程中中的的14个个空空白白窗窗体体分分别别按按表表进进行行设设置置,其其中中原原组组件件对对象象名名(即即Name属属性性)是是空空白白窗窗体体的的默默认认名名字字,由由系系统统自自动动编编号号给给出出,即即Form1、Form2、Form3等等等等,将将其其改改为为新新组组件件对对象象名名(Name属属性性)并并对对
8、其其Caption属属性性的的值值按按照表照表10-1的内容进行设置。的内容进行设置。Microsoft 表表10-1 所有窗体主要属性的设置所有窗体主要属性的设置新组件对象名Caption属性值说明Frm_Register注册数据库连接窗体,将它的单元文件保存为Ufrmregister.pasFrm_Login系统登录用户登录窗体,将它的单元文件保存为U_Login.pasFrm_Slismain武汉市新世界房屋销售管理系统主窗体,将它的单元文件保存为Primary.pasDfmbasehouse房屋基本信息录入房 屋 基 本 信 息 录 入 窗 体,将 它 的 单 元 文 件 保 存 为B
9、asehousenw1.pasDfmpublicxx房屋公用信息录入房屋公用信息录入窗体,将它的单元文件保存为Publicxx.pasDfmdaimoney代收代付录入代收代付录入窗体,将它的单元文件保存为Daimoney.pasDfmchsaleyes销售许可信息录入销 售 许 可 信 息 录 入 窗 体,将 它 的 单 元 文 件 保 存 为Chsaleyes.pasDfmshoujiabiao房屋售价表房屋售价表窗体,将它的单元文件保存为Shoujiabiao.pasMicrosoftDfmmianjibiao房屋面积表房屋面积表窗体,将它的单元文件保存为Mianjibiao.pasFr
10、m_relationdanmade联系单制作联 系 单 制 作 窗 体,将 它 的 单 元 文 件 保 存 为Relationdanmade.pasDfmjinlichaxunmain经理查询经理查询窗体,将它的单元文件保存为Jinlichaxun.pasFrm_jiesuan房屋结算管理房屋结算管理窗体,将它的单元文件保存为Jiesuan.pasFrm_backup数据库备份数据库备份窗体,将它的单元文件保存为Backup.pasFrm_restore数据库恢复数据库恢复体,将它的单元文件保存为Restore.pasFrm_quanxian角色权限管理系 统 角 色 权 限 管 理 窗 体,
11、将 它 的 单 元 文 件 保 存 为Quanxian.pasMicrosoft按表的说明项中的单元文件名将各个窗体保存在系统路径下“E:售楼管理系统”下,工程保存为prjnw.dpr。主窗体是系统的主界面,程序运行时首先显示的是登录窗体,只有用户输入正确的用户名和密码后,才能进入主界面,如果用户是第一次运行该程序,则需要进行注册即数据库连接。本售楼管理系统访问数据库采用的是ADO接口,工程中使用数据模块窗体对数据进行统一管理,数据模块窗体 名 为“DataModule1”,窗 体 中 放 置 一 个ADOConnection1组件,建立与数据库newworldhouse的连接,保存的文件名为
12、“data.pas”。Microsoft在系统所有的窗体中都将通过数据模块窗体来引用其中的数据组件ADOConnection1,只需要在相应单元文件中实现部分implementation语句下面加入“usesdata;”代码即可。登录和注册窗体都需要使用数据模块窗体中的数据组件ADOConnection1,因此数据模块窗体放在最前面,这需要在工程中设置。在Delphi的Project菜单下单击Options子菜单项,按图10-2的形式将Frm_Login设置为工程的主窗体,图中“Auto-createforms”下的列表框显示的是运行时在内存中自动创建的静态窗体,由于登录窗体Frm_Login
13、中也要使用数据模块窗体DataModule1中的数据组件ADOConnection1,因此DataModule1窗体放在“Auto-createforms”列表框的最上面;“AvailableForms”下的列表框显示的是运行时临时创建的动态窗体,使用动态窗体可以节约系统资源。MicrosoftMicrosoft10.1.2 10.1.2 创建公共使用单元创建公共使用单元创建公共使用单元创建公共使用单元 n n在在在在售售售售楼楼楼楼管管管管理理理理系系系系统统统统中中中中,将将将将系系系系统统统统要要要要访访访访问问问问的的的的全全全全局局局局变变变变量量量量放放放放在在在在同同同同一一一一
14、个个个个单单单单元元元元文文文文件件件件publicvarpublicvar.pas.pas中中中中,将将将将系系系系统统统统多多多多个个个个模模模模块块块块要要要要调调调调用用用用的的的的公公公公共共共共过过过过程程程程和和和和函函函函数数数数放放放放在在在在同同同同一一一一个个个个单单单单元元元元文文文文件件件件upublicfunc1.pasupublicfunc1.pas中中中中。这这这这样样样样在在在在要要要要使使使使用用用用这这这这些些些些变变变变量量量量、过过过过程程程程或或或或函函函函数数数数的的的的单单单单元元元元中中中中,在在在在其其其其usesuses子子子子句句句句中中
15、中中包包包包含含含含publicvarpublicvar和和和和upublicfunc1upublicfunc1单单单单元元元元即即即即可可可可访访访访问问问问这些变量或者调用这些函数。这些变量或者调用这些函数。这些变量或者调用这些函数。这些变量或者调用这些函数。n n在在在在DelphiDelphi的的的的FileFile菜菜菜菜单单单单下下下下单单单单击击击击【NewNew】|【unitunit】子子子子菜菜菜菜单单单单项项项项,系系系系统统统统将将将将自自自自动动动动产产产产生生生生一一一一个个个个空空空空框框框框架架架架的的的的单单单单元元元元文文文文件件件件,将将将将该该该该文文文文
16、件件件件保保保保存存存存为为为为publicvarpublicvar.pas.pas。Microsoft在公共单元文件publicvar中,设计如下的全局变量:username:string;/当前用户姓名userrole:string;/当前用户角色userright:string;/当前用户权限registed:boolean;/数据库是否已经成功注册ConstructCode:string;/合同号ConstructKey:integer;/合同IDOperationType:integer;/操作类型在Delphi的File菜单下单击【New】|【form】子菜单项,系统将自动产生一个
17、新 的 窗 体,窗 体 中 添 加 一 个 ADOQuery1组 件,保 存 单 元 文 件 为upublicfunc1.pas,接着在单元文件的实现部分implementation语句下面加入“usesdata,publicvar;”代码,则该单元文件对应的窗体中ADOQuery1组件可以设置Connection的属性为DataModule1.ADOConnection1,即使用数据模块窗体所建立的数据库连接,同时单元文件upublicfunc1也可以使用publicvar单元文件中所定义的全局变量。Microsoft在公共单元文件upublicfunc1中,设计如下的全局函数:functi
18、onWriteLogin():integer;/填写登陆信息functionWriteLogout():integer;/填写登陆离开信息functiongethousedanyuan(consts:string):string;/返回房屋座落的单元号在单元的implementation部分,WriteLogin填写登陆信息函数的实现代码如下:functionWriteLogin():integer;varnowtime:double;beginnowtime:=now();/填写登陆信息withPublicFunc1dobeginwithADOQuery1dobeginifActivethe
19、nClose;/写入登陆信息MicrosoftSQL.Clear;SQL.Add(insertintosys_login(c_name,d_login)values(:names,:timenow);Parameters.parambyname(names).datatype:=ftstring;Parameters.ParamByName(names).Value:=username;Parameters.parambyname(timenow).datatype:=ftdatetime;Parameters.ParamByName(timenow).Value:=nowtime;tryEx
20、ecSQL;exceptApplication.MessageBox(错误号200167!,错误,MB_OK);result:=0;end;ifActivethenClose;/返回日志IDMicrosoftSQL.Clear;SQL.Add(selectI_KEYfromsys_loginwhere(c_name=:names)and(d_login=:timenow);Parameters.parambyname(names).datatype:=ftstring;Parameters.ParamByName(names).Value:=username;Parameters.paramb
21、yname(timenow).datatype:=ftdatetime;Parameters.ParamByName(timenow).Value:=nowtime;tryopen;result:=FieldValuesI_KEY;exceptApplication.MessageBox(错误号200182!,错误,MB_OK);result:=0;end;end;end;end;Microsoft在单元的implementation部分,WriteLogout填写登陆离开信息函数的实现代码如下:functionWriteLogout():integer;beginwithPublicFunc
22、1do/填写登陆离开信息beginwithADOQuery1dobeginifActivethenClose;/写入登陆信息SQL.Clear;SQL.Add(updatesys_loginsetd_logout=:timenowwhereI_KEY=:sysid);Parameters.parambyname(sysid).datatype:=ftinteger;Parameters.ParamByName(sysid).Value:=systemflagid;Parameters.parambyname(timenow).datatype:=ftdatetime;Parameters.Pa
23、ramByName(timenow).Value:=now();tryExecSQL;exceptApplication.MessageBox(错误号200206!,错误,MB_OK);result:=0;end;end;end;result:=0;end;Microsoft10.1.3 10.1.3 创建数据模块创建数据模块创建数据模块创建数据模块n n在在在在DelphiDelphi的的的的主主主主菜菜菜菜单单单单上上上上选选选选中中中中【FileFile】|【NewNew】|【Data Data ModuleModule】来来来来创创创创建建建建一一一一个个个个数数数数据据据据模模模模块
24、块块块,将将将将其其其其NameName属属属属性性性性设设设设置置置置为为为为DataModule1DataModule1。使使使使用用用用了了了了数数数数据据据据模块后访问位于其上的组件的方法是:数据模块名模块后访问位于其上的组件的方法是:数据模块名模块后访问位于其上的组件的方法是:数据模块名模块后访问位于其上的组件的方法是:数据模块名.组件对象名。组件对象名。组件对象名。组件对象名。n n在在在在数数数数据据据据模模模模块块块块中中中中,首首首首先先先先要要要要放放放放入入入入一一一一个个个个ADOConnection1ADOConnection1组组组组件件件件,其其其其主主主主要要要
25、要属属属属性见表性见表性见表性见表10-210-2。表表10-2 ADOConnection1组件主要属性设置组件主要属性设置属性设置值NameDataModule1ProviderSQLOLEDB.1ConnectionString空LoginPromptFalseMicrosoft在C/S体系结构中,ADOConnection1组件用于客户端和服务器端建立连接,并对连接进行管理。从表10-2中可看出ADOConnection1组件的ConnectionString属性设置为空值,实际上该值是在程序中动态的设置的。当客户端是第一次使用该售楼管理系统时,需要进行注册即SQLServer数据库连
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库应用技术Delphi应用系统开发 数据库 应用技术 Delphi 应用 系统 开发 第十
限制150内