版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、业务处理方式类教程主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现中间层的数据流结构体系图代理服务数据库简单业务类复杂单据类接口sdClassMgr.dllsdMidBase.dllsdServerBase.dllDcom服务器中间层的信息流基于TCPIP的消息传递DCOM接口与前台进行数据交换 中间层的数据流客户数据库数据集非绑定的数据传输方式当前对象中间层主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现三个标准基类的介绍标准类TsdSt
2、andard单据头TsdHead单据明细TsdDetail三个标准基类的介绍ItemItemItemPHeadHeadHeadP1ItemItemp2ItemItemD2标准类单据类ItemItem三个标准类相同属性Index索引Key关键字值Bof置头标志Eof置尾标志Count记录数CurRecNo当前记录号BookMark书签FieldCount字段数Found查找返回标志FieldNameint index字段名DataTypeint index数据类型ADOConnection ADO数据连接接口;DllApplication Tapplication对象三个标准类相同属性Query
3、String查询主语句FilterString过滤条件CurStatus 记录状态DataComm 数据和安全事务通信接口三个标准类不同的属性 单据头比较丰富CurItemStatus 明细行的状态ItemFieldCount 明细行的字段数ItemFieldNameint Index 明细中序号为Index的字段名称ItemDataTypeint Index明细中序号为Index的字段的数据类型三个标准类共有的方法Void AddNew()Void Insert(int Index)Void Edit()Void Cancel()Void MoveFirst()Void MoveLast()
4、Void MoveNext()Void MovePrious()三个标准类共有的方法Void MoveBy(int Length)Bool LocateByIndex(int Index)Bool LocateByKey(AnsiString Key)Bool FindKey(AnsiString Key)Void AddRecord(void *Record,AnsiString Key)Void InSertRecord(void *Record,AnsiString Key,int Index)三个标准类共有的方法Void DeleteRecord(AnsiString Key)Void
5、 RemoveRecord(int Index)Void ChangeRecord(void *Record,AnsiString NewKey,AnsiString OldKey)Void *Records(int Index)Void *RecordByKey(AnsiString Key)三个标准类共有的方法Virtual void ClearRecord()Virtual Void *Assign(void *p)Virtual AnsiString GetFieldValue(EnumType euFieldName)Virtual Void SetFieldValue(EnumTy
6、pe euFieldName,AnsiString Value),euFieldname是定义在sdEnumtype.h头文件里表示不同字段序号的枚举变量;三个标准类共有的方法Void InitGlobalVar(AnsiString CompanyCode,AnsiString UserCode,AnsiString FMonth, AnsiString IMonth,AnsiString PMonth,AnsiString SMonth,AnsiString MMonth, AnsiString CMonth,AnsiString MMonth,AnsiString HMonth, Ans
7、iString CurrencyCode,AnsiString TaxCode,AnsiString CurDate,AnsiString SysDate);初始化一些系统参数,财务月份,当前时间,系统时间;三个标准类共有的方法Virtual void Update();Virtual void Delete();Virtual bool Find(AnsiString WhereStr);Virtual void Execute(AnsiString Param);Virtual void BackupValue();Virtual void RestoreValue();三个标准类共有的方
8、法TsdStandard(TDataComm *DC)TsdHead(TDataComm *DC)TsdDetail(TDataComm *DC)TsdStandard()TsdHead()TsdDetail()单据头所具有的方法void FreeItem();virtual void RestoreItem();virtual void NewDetail();virtual void DeleteDetail();virtual void AddItem();virtual void InsertItem();virtual void EditItem();virtual void Del
9、eteItem();单据头所具有的方法virtual void RemoveItem();virtual void ClearItem();virtual void CancelItem();virtual void AddToObject();virtual bool LocateItemByIndex(int Index);virtual bool LocateItemByKey(AnsiString Key);单据头所具有的方法virtual void Check(int IsCheck);virtual void BatchCheck(int IsCheck);virtual void
10、 Close(int IsClose);virtual void BatchClose(int IsClose);virtual void Revoke(int IsRevoke);virtual void BatchRevoke(int IsRevoke);virtual void Tally(int IsTally);virtual void BatchTally(int IsTally);主要讨论项目中间层的数据流三个标准基类的介绍业务类与数据库通信方式业务类的设计和实现业务类与数据库通信方式TDataComm数据通信封装类ADO数据连接,使用OLE DB最简单的方法 业务类与数据库通信
11、方式数据库服务器Data Module数据模块TDataComm数据通信接口业务类1业务类2业务类n封装的消息传递类的功能作用数据通信的桥梁作用业务规则的检验师数据通信的桥梁作用负责与数据库的通信,向数据库发送SQL查询负责创建数据集,被动地把记录传送到客户端负责把客户端的数据传送到数据库,向数据库调用存储过程起到数据光标的作用业务规则的检验师根据前台要求,获取符合要求的数据前台传回来的数据进行业务规则校验数据类型的验证,合法性验证数据安全的保证ADO数据连接充分利用微软ADO技术 ,OLE 自动化接口 OLE DB封装了ODBC的功能 代码中用try和catch来捕获ADO错误 避开BDE的
12、不方便 前台通过DCOM接口进行数据交换 应用服务器接受客户端的请求分配组件对象给客户端使客户端与应用程序取得联系前台所需求的数据通过调用组件对象接口函数获取 前台要更新到数据库的纪录也通过组件对象调用接口函数与数据库打交道 基于TCPIP的消息传递进行多方通信应用服务器代理服务器客户端业务类的设计和实现明确处理对象,选择继承类理解数据表字段意义,发布类的访问属性实现虚拟函数功能对数据的校验和业务功能的处理实现注意的问题明确处理对象,选择继承类简单基础资料,独立表应选用标准类,如客户资料管理、销售员资料等复杂单据,需要主从表共同完成的业务就选用单据类,如订单、发货单等确定单头,则继承单据头基类
13、,如订单单头明细表类,则继承于明细基类,如订单明细理解数据表字段意义,发布类的访问属性根据表结构和一些业务知识,确定属性的转换数据类型和读写类型数据类型的转换,一般地有Varchar-AnsiString, decimal-double, tinyint-int, Datatime-AnsiString 等只读属性 _property DataType FieldName=read=m_FieldName可读写属性_property DataType FieldName=read=m_FieldName,write=m_FieldName增加类的私有字段,m_FieldName,b_Field
14、Name(备份)对数据的校验和业务功能的处理实现完成属性的赋值 实现前台-后台调用SetFieldValue(enumType sdFieldName,AnsiString Value)注意数据类型转换类内部调用 SetFieldName(DataType Value)对数据和业务的校验完成属性的取值 实现后台-前台调用AnsiString GetFieldValue(enumType sdFieldName)实现虚拟函数功能Void BackupValue()备份数据实现b_FieldName=m_FieldNameVoid RestorValue()恢复数据实现m_FieldName=b_
15、FieldNameVoid Query()实现 数据表-数据集的转化Void BatchLetValue()对类私有字段赋值实现m_FieldName=m_Query-FieldByName“FieldName”实现虚拟函数功能Void EmptyValue()清空字段的值Void Update() 更新数据表增加记录,调用存储过程TableName_Insert修改记录,调用存储过程TableName_UpdateVoid Delete()删除记录,调用存储过程TableName_Delete实现虚拟函数功能Void AssignValue() 数据集-对象Void Assign(void *Record)Void Execute(AnsiString Param)实现虚拟函数功能Void Check(int IsCheck)审核单据调用存储过程TableName_CheckVoid Close(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版交通设施地形图保密及规划合同3篇
- 二零二五版建筑工程施工图纸审查招标投标合同书3篇
- 二零二五年度花展工程花卉品种研发与专利申请合同3篇
- 二零二五年度绿色建筑项目采购合同3篇
- 二零二五版XX个人商业秘密保护合同样本3篇
- 二零二五年度私人墓地购置与墓园墓碑雕刻人才培养合同3篇
- 二零二五年度金融机构贷款担保与信用管理合同3篇
- 二零二五版家庭水电维修与改造兼职合同3篇
- 二零二五版废旧电线电缆回收与资源化利用合同3篇
- 二零二五年度食品行业环境保护设施租赁合同2篇
- 【智慧校园】-智慧校园系统方案
- 康佳液晶电视企业文化(课堂PPT)
- 个人养老金:是什么、怎么缴、如何领PPT个人养老金基础知识培训PPT课件(带内容)
- 鸡鸭屠宰生产企业安全风险分级管控资料
- 医院感染管理组织架构图
- 《工程招投标与合同管理》题库试题及答案 共5套试卷
- 离子色谱法分析氯化物原始记录 (1)
- 高等数学说课稿PPT课件(PPT 49页)
- 造影剂肾病概述和性质
- 单片机交通灯系统设计报告
- 标杆房企人力资源体系研究之龙湖
评论
0/150
提交评论