⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kssdset.h

📁 科思ERP部分源码及控件
💻 H
字号:
//---------------------------------------------------------------------------

#ifndef KSSDSetH
#define KSSDSetH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <adodb.hpp>
#include <db.hpp>
#include <ScktComp.hpp>
#include "container.h"
#include <stdio.h>
//---------------------------------------------------------------------------
class TKSSDSet : public TThread
{
private:
  HWND l_AOwner;
  HWND l_Handle;
  TADOQuery *l_HeadDataSet;
  TADOQuery *l_ItemDataSet;
  TADOQuery *l_Query;
  TADOQuery *l_DQuery;
  TADOStoredProc *l_StoredProc;
  TADOConnection *l_SCnt;
  TADOConnection *l_DCnt;
  TCustomWinSocket *l_Socket;
  AnsiString l_MidCode;

  bool l_Active;
  int l_Needvalid;
  int l_Status;
  int l_DataSetType;
  AnsiString l_UserField;
  AnsiString l_HeadSQLStr;
  AnsiString l_ItemSQLStr;
  AnsiString l_HeadWhereStr;
  AnsiString l_ItemWhereStr;
  AnsiString l_HeadOrderStr;
  AnsiString l_ItemOrderStr;
  AnsiString l_HeadDisplayName;
  AnsiString l_ItemDisplayName;
  TStringList *l_HeadLinkFields;
  TStringList *l_ItemLinkFields;
  TStringList *l_ServerBuffer;

  AnsiString l_HeadKeyFields;
  AnsiString l_ItemKeyFields;

  AnsiString l_ClientDataSetHandle;
  AnsiString l_HeadFileName;
  AnsiString l_ItemFileName;
  AnsiString l_QueryFileName;

public:
  __fastcall TKSSDSet(bool CreateSuspended);
  __fastcall TKSSDSet(HWND AOwner,TCustomWinSocket *Socket,AnsiString Clientid,AnsiString MidCode);
  __fastcall ~TKSSDSet();

protected:
  void __fastcall SDSetTerminate(TObject *Sender);
  void __fastcall InitSDSet();
  void __fastcall Execute();
  void __fastcall AnalyzeStr();
  void __fastcall WndProc(TMessage &Message);

  void __fastcall Open(TKSStrData *stream);
  void __fastcall Update(TKSStrData *stream);
  void __fastcall Delete(TKSStrData *stream);
  void __fastcall DeleteDetail(TKSStrData *stream);
  void __fastcall CmdExec(TKSStrData *stream);
  void __fastcall Check(TKSStrData *stream);
  void __fastcall CloseOff(TKSStrData *stream);
  void __fastcall Revoke(TKSStrData *stream);
  void __fastcall Tally(TKSStrData *stream);
  void __fastcall ExecSQL(TKSStrData *stream);
  void __fastcall ValidateData(TKSStrData *stream);
  void __fastcall QueryOpen(TKSStrData *stream);
  void __fastcall QueryUpdate(TKSStrData *stream);
  void __fastcall QueryDelete(TKSStrData *stream);
  void __fastcall QueryExecSQL(TKSStrData *stream);

public:
  __property AnsiString HeadSQLStr={read=GetHeadSQLStr,write=SetHeadSQLStr};
  __property AnsiString ItemSQLStr={read=GetItemSQLStr,write=SetItemSQLStr};
  __property AnsiString HeadWhereStr={read=GetHeadWhereStr,write=SetHeadWhereStr};
  __property AnsiString ItemWhereStr={read=GetItemWhereStr,write=SetItemWhereStr};
  __property AnsiString HeadOrderStr={read=GetHeadOrderStr,write=SetHeadOrderStr};
  __property AnsiString ItemOrderStr={read=GetItemOrderStr,write=SetItemOrderStr};
  __property AnsiString HeadKeyFields={read=GetHeadKeyFields,write=SetHeadKeyFields};
  __property AnsiString ItemKeyFields={read=GetItemKeyFields,write=SetItemKeyFields};
  __property AnsiString LinkFields={read=GetLinkFields,write=SetLinkFields};
  __property AnsiString HeadSort={read=GetHeadSort,write=SetHeadSort};
  __property AnsiString ItemSort={read=GetItemSort,write=SetItemSort};
  __property AnsiString Filter={read=GetFilter,write=SetFilter};
  __property bool Filtered={read=GetFiltered,write=SetFiltered};
  __property TDataSetState HeadStatus={read=GetHeadStatus};
  __property TDataSetState ItemStatus={read=GetItemStatus};
  __property int DataSetType={read=GetDataSetType};
  __property TADOQuery *Query={read=l_Query};
  __property TADOConnection *Connection={read=GetConnection,write=SetConnection};
  __property TADOConnection *BuildConn={read=GetBuildConn,write=SetBuildConn};
  __property bool Active={read=GetActive,write=SetActive};
  __property HWND LocalHandle={read=l_Handle};
    
private:
  AnsiString __fastcall GetHeadSQLStr();
  void __fastcall SetHeadSQLStr(AnsiString value);
  AnsiString __fastcall GetItemSQLStr();
  void __fastcall SetItemSQLStr(AnsiString value);
  AnsiString __fastcall GetHeadWhereStr();
  void __fastcall SetHeadWhereStr(AnsiString value);
  AnsiString __fastcall GetItemWhereStr();
  void __fastcall SetItemWhereStr(AnsiString value);
  AnsiString __fastcall GetHeadOrderStr();
  void __fastcall SetHeadOrderStr(AnsiString value);
  AnsiString __fastcall GetItemOrderStr();
  void __fastcall SetItemOrderStr(AnsiString value);
  AnsiString __fastcall GetHeadKeyFields();
  void __fastcall SetHeadKeyFields(AnsiString value);
  AnsiString __fastcall GetItemKeyFields();
  void __fastcall SetItemKeyFields(AnsiString value);
  AnsiString __fastcall GetLinkFields();
  void __fastcall SetLinkFields(AnsiString value);
  AnsiString __fastcall GetHeadSort();
  void __fastcall SetHeadSort(AnsiString value);
  AnsiString __fastcall GetItemSort();
  void __fastcall SetItemSort(AnsiString value);
  TDataSetState __fastcall GetHeadStatus();
  TDataSetState __fastcall GetItemStatus();
  AnsiString __fastcall GetFilter();
  void __fastcall SetFilter(AnsiString value);
  bool __fastcall GetFiltered();
  void __fastcall SetFiltered(bool value);
  int __fastcall GetDataSetType();
  bool __fastcall GetBof();
  bool __fastcall GetEof();
  bool __fastcall GetItemBof();
  bool __fastcall GetItemEof();
  int __fastcall GetRecordCount();
  int __fastcall GetCurRecNo();
  int __fastcall GetItemCount();
  int __fastcall GetItemRecNo();
  int __fastcall GetHeadFieldCount();
  int __fastcall GetItemFieldCount();
  TFields *__fastcall GetHeadFields();
  TFields *__fastcall GetItemFields();
  AnsiString __fastcall BuildLinkStr();
  AnsiString __fastcall BuildLinkFields();
  void __fastcall ExtractLinkFields(AnsiString value);
  void __fastcall BuildDetailFilter();
  int __fastcall CheckFieldType(TField *Field);
  TADOConnection *__fastcall GetConnection();
  void __fastcall SetConnection(TADOConnection *value);
  TADOConnection *__fastcall GetBuildConn();
  void __fastcall SetBuildConn(TADOConnection *value);
  bool __fastcall GetActive();
  void __fastcall SetActive(bool value);

private:
  void __fastcall SendInitResult();
  void __fastcall SendErrorMsg(int errortype,int errorcode,AnsiString errormessage);
  void __fastcall SendFailMsg(AnsiString operate,AnsiString errormessage);
  bool __fastcall VerifyValue(AnsiString operate,TKSStrData *stream);
  AnsiString __fastcall MakeRangeStr(AnsiString range);

};
class TKSSRSet : public TThread
{
private:
  HWND l_AOwner;
  HWND l_Handle;
  TADOQuery *l_Query;
  TADOConnection *l_SCnt;
  TCustomWinSocket *l_Socket;
  TADOQuery *l_DQuery;
  TADOConnection *l_DCnt;
  FILE *logfile;

  bool l_Active;
  int l_Status;
  AnsiString l_ClientRecordSetHandle;
  TStringList *l_ServerBuffer;
  AnsiString l_FileName;

public:
  __fastcall TKSSRSet(HWND AOwner,TCustomWinSocket *Socket,AnsiString Clientid,
              TADOConnection *AConn,TADOConnection *BConn);
  __fastcall ~TKSSRSet();

  void __fastcall ExitSvrRSet();

protected:
  void __fastcall SvrRSetTerminate(TObject *Sender);
  void __fastcall InitSvrRSet();
  void __fastcall Execute();
  void __fastcall AnalyzeStr();
  void __fastcall WndProc(TMessage &Message);
  
  void __fastcall AsynOpen(TKSStrData *stream);
  void __fastcall AsynUpdate(TKSStrData *stream);
  void __fastcall AsynDelete(TKSStrData *stream);
  void __fastcall AsynClose(TKSStrData *stream);
  void __fastcall AsynExecSQL(TKSStrData *stream);

public:
  __property TADOConnection *Connection={read=GetConnection,write=SetConnection};
  __property TADOConnection *BuildConn={read=GetBuildConn,write=SetBuildConn};
  __property HWND LocalHandle={read=l_Handle};

private:
  TADOConnection * __fastcall GetConnection();
  void __fastcall SetConnection(TADOConnection *value);
  TADOConnection * __fastcall GetBuildConn();
  void __fastcall SetBuildConn(TADOConnection *value);

  void __fastcall SendErrorMsg(int errortype,int errorcode,AnsiString errormessage);
  void __fastcall SendFailMsg(AnsiString operate,AnsiString errormessage);

};//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -