//---------------------DM H文件------------------------------------------------------
#ifndef UnitDataModuleH
#define UnitDataModuleH
//---------------------------------------------------------------------------
#include
#include
#include
#include
#include
#include
//---------------------------------------------------------------------------
class TFrm_DM : public TDataModule
{
__published: // IDE-managed Components
TADOConnection *conAC;
private: // User declarations
public: // User declarations
__fastcall TFrm_DM(TComponent* Owner);
__fastcall ~TFrm_DM();
};
//---------------------------------------------------------------------------
extern PACKAGE TFrm_DM *Frm_DM;
//---------------------------------------------------------------------------
#endif
//---------------------DM CPP文件------------------------------------------------------
#include
#pragma hdrstop
#include "UnitDataModule.h"
#include "IniFiles.hpp"
#include "WCDESComp.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFrm_DM *Frm_DM;
//---------------------------------------------------------------------------
__fastcall TFrm_DM::TFrm_DM(TComponent* Owner)
: TDataModule(Owner)
{
//读取配置文件进行数据库连接
TIniFile * ini =new TIniFile(ExtractFilePath(Application->ExeName)+"Config.cfg");
AnsiString DataSource,UserID,Password,InitialCatalog;
DataSource =ini->ReadString("Stock_DBSetting","DataSource","127.0.0.1");
UserID =ini->ReadString("Stock_DBSetting","UserID","sa");
TWCDESComp * wcdes = new TWCDESComp(NULL);
Password =wcdes->DecryStrHex(ini->ReadString("Stock_DBSetting","Password",""),"1301");
delete wcdes;
InitialCatalog=ini->ReadString("Stock_DBSetting","InitialCatalog","127.0.0.1");
delete ini;
AnsiString StrConFormat ="Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s;Initial Catalog=%s;Data Source=%s";
AnsiString ConString;
ConString.printf(StrConFormat.c_str(),Password.c_str(),UserID.c_str(),InitialCatalog.c_str(),DataSource.c_str());
conAC->ConnectionString = ConString;
try
{
conAC->Open();
}
catch(Exception >e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
__fastcall TFrm_DM::~TFrm_DM()
{
if(conAC->Connected)
conAC->Close();
}
//-------------------封装类.H文件--------------------------------------------------------
#ifndef UnitGlobalDataH
#define UnitGlobalDataH
#include "UnitInStock.h"
#include "UnitProductInfo.h"
#include "UnitInStockInfo.h"
#include "UnitProviderPaper.h"
#include "UnitUnitManage.h"
#include "UnitRepertory.h"
#include "UnitProviderInfo.h"
#include "UnitSetting.h"
#include "UnitStockInfo.h"
#include "UnitDataModule.h"
#include "TypeManage.h"
#include "UnitChildUnit.h"
#include "UnitChildProviderPaper.h"
//---------------------------------------------------------------------------
class TGlobalData
{
protected:
TFrm_DM * _DM;
public:
TGlobalData();
~TGlobalData();
int ExecSQL(TADOQuery * retAQ);
int OpenSQL(TADOQuery * retAQ);
int BeginTrans();
void CommitTrans();
void RollBackTrans();
public:
//产品相关函数
// int AddProduct(TFrm_ProductInfo * pProduct);
// int EditProduct(TFrm_ProductInfo * pProduct);
// int DeleteProduct(TFrm_ProductInfo * pProduct);
// int CopyProduct(TFrm_ProductInfo * pProduct);
//入库相关
// int AddInStock(TFrm_InStockInfo * pInStock);
// int EditInStock(TFrm_InStockInfo * pInStock);
// int DeleteInstock(TFrm_InStockInfo * pInStock);
// int CopyInStock(TFrm_InStockInfo * pInStock);
};
extern TGlobalData gGlobalData;
#endif
//-------------------封装类.CPP文件--------------------------------------------------------
//---------------------------------------------------------------------------
#pragma hdrstop
#include "UnitGlobalData.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TGlobalData gGlobalData;
TGlobalData::TGlobalData()
{
_DM = new TFrm_DM(NULL);
}
TGlobalData::~TGlobalData()
{
delete _DM;
}
int TGlobalData::ExecSQL(TADOQuery * retAQ)
{
if(retAQ == NULL) return 0;
retAQ->Connection =_DM->conAC ;
int ret=0;
try
{
ret = retAQ->ExecSQL();
}
catch(Exception >e)
{
ShowMessage(e.Message);
ret =0 ;
}
return ret;
}
int TGlobalData::OpenSQL(TADOQuery * retAQ)
{
if(retAQ == NULL) return 1;
retAQ->Connection =_DM->conAC ;
try
{
retAQ->Open();
}
catch(Exception >e)
{
ShowMessage(e.Message);
return 2;
}
return 0;
}
int TGlobalData::BeginTrans()
{
return _DM->conAC->BeginTrans();
}
void TGlobalData::CommitTrans()
{
_DM->conAC->CommitTrans();
}
void TGlobalData::RollBackTrans()
{
_DM->conAC->RollbackTrans();
}