//---------------------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(); }