业务处理类教程_第1页
业务处理类教程_第2页
业务处理类教程_第3页
业务处理类教程_第4页
业务处理类教程_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

业务处理类教程主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现中间层的数据流结构体系图代理服务数据库简单业务类复杂单据类接口sdClassMgr.dllsdMidBase.dllsdServerBase.dllDcom服务器中间层的信息流基于TCP\IP的消息传递DCOM接口与前台进行数据交换

中间层的数据流客户数据库数据集非绑定的数据传输方式当前对象中间层主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现三个标准基类的介绍标准类TsdStandard单据头TsdHead单据明细TsdDetail三个标准基类的介绍ItemItemItemPHeadHeadHeadP1ItemItemp2ItemItemD2标准类单据类ItemItem三个标准类相同属性QueryString查询主语句FilterString过滤条件CurStatus记录状态DataComm数据和安全事务通信接口三个标准类不同的属性

单据头比较丰富CurItemStatus明细行的状态ItemFieldCount明细行的字段数ItemFieldName[intIndex]明细中序号为Index的字段名称ItemDataType[intIndex]明细中序号为Index的字段的数据类型三个标准类共有的方法VoidAddNew()VoidInsert(intIndex)VoidEdit()VoidCancel()VoidMoveFirst()VoidMoveLast()VoidMoveNext()VoidMovePrious()三个标准类共有的方法VoidMoveBy(intLength)BoolLocateByIndex(intIndex)BoolLocateByKey(AnsiStringKey)BoolFindKey(AnsiStringKey)VoidAddRecord(void*Record,AnsiStringKey)VoidInSertRecord(void*Record,AnsiStringKey,intIndex)三个标准类共有的方法VoidDeleteRecord(AnsiStringKey)VoidRemoveRecord(intIndex)VoidChangeRecord(void*Record,AnsiStringNewKey,AnsiStringOldKey)Void*Records(intIndex)Void*RecordByKey(AnsiStringKey)三个标准类共有的方法VirtualvoidClearRecord()VirtualVoid*Assign(void*p)VirtualAnsiStringGetFieldValue(EnumTypeeuFieldName)VirtualVoidSetFieldValue(EnumTypeeuFieldName,AnsiStringValue),euFieldname是定义在sdEnumtype.h头文件里表示不同字段序号的枚举变量;三个标准类共有的方法VoidInitGlobalVar(AnsiStringCompanyCode,AnsiStringUserCode,AnsiStringFMonth,AnsiStringIMonth,AnsiStringPMonth,AnsiStringSMonth,AnsiStringMMonth,AnsiStringCMonth,AnsiStringMMonth,AnsiStringHMonth,AnsiStringCurrencyCode,AnsiStringTaxCode,AnsiStringCurDate,AnsiStringSysDate);初始化一些系统参数,财务月份,当前时间,系统时间;三个标准类共有的方法VirtualvoidUpdate();VirtualvoidDelete();VirtualboolFind(AnsiStringWhereStr);VirtualvoidExecute(AnsiStringParam);VirtualvoidBackupValue();VirtualvoidRestoreValue();三个标准类共有的方法TsdStandard(TDataComm*DC)TsdHead(TDataComm*DC)TsdDetail(TDataComm*DC)TsdStandard()TsdHead()TsdDetail()单据头所具有的方法voidFreeItem();virtualvoidRestoreItem();virtualvoidNewDetail();virtualvoidDeleteDetail();virtualvoidAddItem();virtualvoidInsertItem();virtualvoidEditItem();virtualvoidDeleteItem();单据头所具有的方法virtualvoidRemoveItem();virtualvoidClearItem();virtualvoidCancelItem();virtualvoidAddToObject();virtualboolLocateItemByIndex(intIndex);virtualboolLocateItemByKey(AnsiStringKey);单据头所具有的方法virtualvoidCheck(intIsCheck);virtualvoidBatchCheck(intIsCheck);virtualvoidClose(intIsClose);virtualvoidBatchClose(intIsClose);virtualvoidRevoke(intIsRevoke);virtualvoidBatchRevoke(intIsRevoke);virtualvoidTally(intIsTally);virtualvoidBatchTally(intIsTally);主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现业务类与数据库通信方式TDataComm数据通信封装类ADO数据连接,使用OLEDB最简单的方法

业务类与数据库通信方式数据库服务器DataModule数据模块TDataComm数据通信接口业务类1业务类2业务类n封装的消息传递数据通信的桥梁作用负责与数据库的通信,向数据库发送SQL查询负责创建数据集,被动地把记录传送到客户端负责把客户端的数据传送到数据库,向数据库调用存储过程起到数据光标的作用业务规则的检验师根据前台要求,获取符合要求的数据前台传回来的数据进行业务规则校验数据类型的验证,合法性验证数据安全的保证ADO数据连接充分利用微软ADO技术,OLE自动化接口

OLEDB封装了ODBC的功能

代码中用try和catch来捕获ADO错误

避开BDE的不方便

前台通过DCOM接口进行数据交换

应用服务器接受客户端的请求分配组件对象给客户端使客户端与应用程序取得联系前台所需求的数据通过调用组件对象接口函数获取前台要更新到数据库的纪录也通过组件对象调用接口函数与数据库打交道基于TCP\IP的消息传递进行多方通信应用服务器代理服务器客户端业务类的设计和实现明确处理对象,选择继承类理解数据表字段意义,发布类的访问属性实现虚拟函数功能对数据的校验和业务功能的处理实现注意的问题理解数据表字段意义,发布类的访问属性根据表结构和一些业务知识,确定属性的转换数据类型和读写类型数据类型的转换,一般地有Varchar->AnsiString,decimal->double,tinyint->int,Datatime->AnsiString等只读属性__propertyDataTypeFieldName={read=m_FieldName}可读写属性__propertyDataTypeFieldName={read=m_FieldName,write=m_FieldName}增加类的私有字段,m_FieldName,b_FieldName(备份)对数据的校验和业务功能的处理实现完成属性的赋值实现前台->后台调用SetFieldValue(enumTypesdFieldName,AnsiStringValue)注意数据类型转换类内部调用SetFieldName(DataTypeValue)对数据和业务的校验完成属性的取值实现后台->前台调用AnsiStringGetFieldValue(enumTypesdFieldName)实现虚拟函数功能VoidEmptyValue()清空字段的值VoidUpdate()更新数据表增加记录,调用存储过程TableName_Insert修改记录,调用存储过程TableName_UpdateVoidDelete()删除记录,调用存储过程TableName_Delete实现虚拟函数功能VoidAssignValue()数据集->对象VoidAssign(void*Record)Vo

温馨提示

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

评论

0/150

提交评论