第7讲 用户层实现.ppt_第1页
第7讲 用户层实现.ppt_第2页
第7讲 用户层实现.ppt_第3页
第7讲 用户层实现.ppt_第4页
第7讲 用户层实现.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第七讲用户层实现,从企业级实战角度出发,2,第七讲用户层实现,1.远程登录数据源的配置,3.业务逻辑层代理类的开发,4.支行信息浏览界面的实现,2.分层的WIN32控制台客户端实例演示,1.远程登陆服务器设置-(1)物理连通,数据库服务器,Web应用服务器,1.远程登陆服务器设置-(2)远程许可,1.远程登陆服务器设置-(2)远程许可,1.远程登陆服务器设置-(2)远程许可,1.远程登陆服务器设置(3)服务器端远程新建登录设置,1.远程登陆服务器设置(3)服务器端远程新建登录设置,1.远程登陆服务器设置(3)服务器端远程新建登录设置,1.远程登陆服务器设置(3)服务器端远程新建登录设置,1.远程登陆服务器设置(4)远程登录SKYFLY-OKLHB,1.远程登陆服务器设置(4)远程登录SKYFLY-OKLHB,1.远程登陆服务器设置(5)创建远程数据源Branch,1.远程登陆服务器设置(5)创建远程数据源Branch,1.远程登陆服务器设置(5)创建远程数据源Branch,1.远程登陆服务器设置(5)创建远程数据源Branch,1.远程登陆服务器设置(5)创建远程数据源Branch,1.远程登陆服务器设置(5)创建远程数据源Branch,1.远程登陆服务器设置(5)创建远程数据源Branch,2.分层的客户端实例演示(1)复制构件,21,2.分层的客户端实例演示(2)注册出纳组件,22,2.分层的客户端实例演示(3)注册管理员组件,23,2.分层的客户端实例演示(4)Win32客户端应用,24,2.分层的客户端实例演示(5)Web应用,25,2.分层的客户端实例演示(6)Web应用,26,27,7.1用户界面的实现,实现方式:采用web网页的形式,实现手段:ASP.NET开发环境C#作为开发语言,关键:如何实现AdministratorATL组件与Web网页通信,28,7.1用户界面的实现,29,7.1用户界面的实现,在添加对该COM对象的引用后,ASP.NET开发环境会自动为它创建一个AdministratorATLLib命名空间(namespace,ASP.NET使用命名空间而不是文件夹结构来管理项目元素,类可以用命名空间路径引用),该命名空间包括First_ATL、First_ATLClass、IFirst_ATL等与COM对象中对应的类或接口,实际上,开发环境对COM对象中提供的方法进行了包装,使得这些类和接口可以像普通的C#语言定义的类那样定义和使用。,30,7.1用户界面的实现,下面我们将以支行(branch)管理为例,介绍使用ASP.NET的Web控件实现用户界面,并调用COM对象功能实现数据操作的主体思路。我们将主要介绍下面两个界面,一个是支行信息的浏览界面(使用GridView控件),一个是支行信息的编辑和添加界面(使用DetailsView界面)。,31,7.1用户界面的实现,支行信息浏览界面,32,7.1用户界面的实现,支行信息修改界面,33,7.1.1业务分转层代理类的开发,要使用COM对象提供的数据操作功能,ASP.NET开发框架提供的方案是将这些功能包装成业务实体类,使用前面介绍的ObjectDataSource控件调用业务对象的成员方法来完成数据操作功能。但是ObjectDataSource使用的业务类需要实现DataSourceView类定义的数据操作框架,在很多情况下原有的业务分转层类的功能框架可能与此存在区别,因此可以考虑自行生成一个代理类,对原业务逻辑层提供的功能进行重新组合。,34,7.1.1业务分转层代理类的开发,在解决方案资源管理器中的BankManagement项目的App_Code文件夹(一般用来存放类代码)上点击右键,在弹出的快捷菜单里面选择添加一个类,名称为AdminBranch,将其放入BankManagement.BLL命名空间,类的基本定义如下:,35,7.1.1业务分转层代理类的开发,usingSystem;usingSystem.Data;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingADMINISTRATORATLLib;/包含COM类和接口的命名空间namespaceBankManagement.BLLpublicclassAdminBranch/创建代理类提供的COM接口对象privatestaticFirst_ATLfirst_ATL=newFirst_ATL();privatestaticIFirst_ATLfirst=(IFirst_ATL)first_ATL;publicAdminBranch()first.AdminDatabaseLogin();/在构造函数中打开数据库连接,36,7.1.1业务分转层代理类的开发,publicvoidUpdate(stringold_branch_name,stringbranch_name,stringcity,floatassets)first.AdminBranchUpdate(old_branch_name,branch_name,city,assets);publicvoidAdd(stringbranch_name,stringcity,floatasset)first.AdminBranchAdd(branch_name,city,assets);publicvoidDelete(stringbranch_name)first.AdminBranchDelete(branch_name,);,37,7.1.1业务分转层代理类的开发,数据检索方法的实现较为复杂,COM对象中使用三个方法来实现记录信息的检索,首先由AdminBranchQuery接收查询条件返回相应的记录,然后调用AdminBranchGetFirstRecord方法获取第一条记录,再循环调用AdminBranchGetNextRecord方法逐条返回以后的记录,直到返回所有记录。但是ObjectDataSource控件要求的数据检索方法必须一次性以IEnumerable对象的形式返回所有的记录,且最好返回DataView、DataTable、DataSet等对象以支持缓存、筛选等操作,因此我们在AdminBranch类中重新生成一个方法来完成数据检索操作:,38,7.1.1业务分转层代理类的开发,publicDataViewQueryByString(stringbranch_name,stringcity)/创建数据操作所需的DataTable对象DataTabledt=newDataTable();dt.Columns.Add(branch_name,typeof(string);dt.Columns.Add(city,typeof(string);dt.Columns.Add(assets,typeof(float);/定义调用COM对象方法所需的参数stringbname,bcity;floatassets;intstatus;/查询所有记录first.AdminBranchQuery(,);/检索第一条记录first.AdminBranchGetFirstRecord(outbname,outbcity,outassets,outstatus);,39,7.1.1业务分转层代理类的开发,publicDataViewQueryByString(stringbranch_name,stringcity)/循环检索所有记录并添加到DataTable对象中while(status=8)DataRowdr=dt.NewRow();drbranch_name=bname;drcity=bcity;drassets=assets;dt.Rows.Add(dr);first.AdminBranchGetNextRecord(outbname,outbcity,outassets,outstatus);,40,7.1.1业务分转层代理类的开发,publicDataViewQueryByString(stringbranch_name,stringcity)/生成数据筛选表达式StringBuilderstr=newStringBuilder();if(!string.IsNullOrEmpty(branch_name)str.Append(branch_name=+branch_name+);if(!string.IsNullOrEmpty(city)str.Append(Andcity=+city+);elseif(!string.IsNullOrEmpty(city)str.Append(city=+city+);/使用筛选表达式对数据进行筛选并返回DataView对象dt.DefaultView.RowFilter=str.ToString();returndt.DefaultView;,41,7.1.2支行信息浏览界面的实现,银行业务系统的母版页设计视图,42,7.1.2支行信息浏览界面的实现,商业银行柜台业务管理系统,43,7.1.2支行信息浏览界面的实现,44,7.1.2支行信息浏览界面的实现,45,7.1.2支行信息浏览界面的实现,46,7.1.2支行信息浏览界面的实现,支行名:全部,47,7.1.2支行信息浏览界面的实现,所在城市:全部,48,7.1.2支行信息浏览界面的实现,49,7.1.2支行信息浏览界面的实现,50,7.1.2支行信息浏览界面的实现,51

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论