SDERP开发平台 业务处理类教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SD-ERP开发平台业务处理类教程主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现中间层的数据流结构体系图代理服务数据库简单业务类复杂单据类接口sdClassMgr.dllsdMidBase.dllsdServerBase.dllDcom服务器中间层的信息流基于TCP\IP的消息传递DCOM接口与前台进行数据交换中间层的数据流客户数据库数据集非绑定的数据传输方式当前对象中间层主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现三个标准基类的介绍标准类TsdStandard单据头TsdHead单据明细TsdDetail三个标准基类的介绍ItemItemItemPHeadHeadHeadP1ItemItemp2ItemItemD2标准类单据类ItemItem三个标准类相同属性Index索引Key关键字值Bof置头标志Eof置尾标志Count记录数CurRecNo当前记录号BookMark书签FieldCount字段数Found查找返回标志FieldName[intindex]字段名DataType[intindex]数据类型ADOConnectionADO数据连接接口;DllApplicationTapplication对象三个标准类相同属性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)实现虚拟函数功能VoidBackupValue()备份数据实现b_FieldName=m_FieldNameVoidRestorValue()恢复数据实现m_FieldName=b_FieldNameVoidQuery()实现数据表-数据集的转化VoidBatchLetValue()对类私有字段赋值实现m_FieldName=m_Query-FieldByName[“FieldName”]实现虚拟函数功能VoidEmptyValue()清空字段的值VoidUpdate()更新数据表增加记录,调用存储过程TableName_Insert修改记录,调用存储过程TableName_UpdateVoidDelete()删除记录,调用存储过程TableName_Delete实现虚拟函数功能VoidAssignValue()数据集-对象VoidAssign(void*Record)VoidExecute(AnsiStringParam)实现虚拟函数功能VoidCheck(intIsCheck)审核单据调用存储过程TableName_CheckVoidClose(intIsClose)结清单据调用存储过程TableName_CloseVoidRevoke(intIsRevoke)取消单据调用存储过程TableName_Revoke实现虚拟函数功能两种构造函数的实现和使用折构函数的实现注意的问题必须始终在代码中用try和catch来捕获ADO错误,否则ADO错误会使你的应用程序崩溃。当ADO发生运行时错误时(如数据库不存在),OLEDB数据提供者将自动创建一个_com_error对象,并将有关错误信息填充到这个对象的成员变量.类的注册

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功