数据库封装类(坤)

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

 

posted @ 2016-02-25 15:55  風行  阅读(323)  评论(0编辑  收藏  举报