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

📄 servermodule.cpp

📁 停车场用
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include <inifiles.hpp>

#include "ServerModule.h"
#include "dido.h"
#include "bdbf.h"
#include "dynamic.h"
#include "CBuilder.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//获取Access停车场数据连接
static void *GetADOConnection(void);
//获取数据库活动
static int GetADOConnectActive(void);

TServerDataModule *ServerDataModule;
//---------------------------------------------------------------------------
__fastcall TServerDataModule::TServerDataModule(TComponent* Owner)
    : TDataModule(Owner)
{
}
//打开ADO数据库
int OpenADODatabase(void)
 {
  static char pszSect[]="OPTION",
      pszAccessSect[]="ACCESS",
      pszSQLSect[]="MSSQL";
  TADOConnection *pConnect;
  TMemIniFile *t;
  AnsiString asDBName,asDataSource,asUser,asPassword;
  int rc,nDBMode;

  if(ServerDataModule==NULL)
    Application->CreateForm(__classid(TServerDataModule), &ServerDataModule);

   //获取ADO停车场数据连接
  pConnect = (TADOConnection *)GetADOConnection();
  t = OpenRunIniFile();
  nDBMode = ReadIntOnIniFile(pszSect,"DBMode",1,t);//数据库类型
  if(nDBMode==0){ //Access 数据库
    asDBName = t->ReadString(pszAccessSect,"DBName","PARK.MDB");
    rc=OpenAccessConnection(pConnect,asDBName.c_str());//打开ADO Access数据库连接
   }
  else{ //打开MSSQL数据库连接
    asDBName = t->ReadString(pszSQLSect,"InitCatalog","PARK");
    asDataSource = t->ReadString(pszSQLSect,"DataSource","<local>");
    asUser = t->ReadString(pszSQLSect,"UserID","sa");
    asPassword = t->ReadString(pszSQLSect,"Password","");

    rc = OpenMSSQLConnection(pConnect,
        asUser.c_str(),asPassword.c_str(),
        asDataSource.c_str(),asDBName.c_str());
   }
  CloseRunIniFile(t);
  return(rc);
 }
//打开Access数据库
int OpenAccessDatabase(char *pszFile)
 {
  TADOConnection *pConnect;
  int rc;

  if(ServerDataModule==NULL)
    Application->CreateForm(__classid(TServerDataModule), &ServerDataModule);

   //获取Access停车场数据连接
  pConnect = (TADOConnection *)GetADOConnection();
  rc=OpenAccessConnection(pConnect,pszFile);//打开ADO Access数据库连接

  return(rc);
 }
//关闭Access数据库
void CloseADODatabase(void)
 {
  TADOConnection *pConnect;

   //获取Access停车场数据连接
  pConnect = (TADOConnection *)GetADOConnection();
  CloseADOConnection(pConnect);//关闭ADO数据库连接
 }
//获取Access停车场数据连接
void *GetADOConnection(void)
 {
  void *p;

  if(ServerDataModule!=NULL)
    p = ServerDataModule->m_ADOConnection;
  else p=NULL;
  return(p);
 }
//获取停车场内车辆记录表
TDataSet *GetParkInQuery(void)
 {
  TDataSet *pTable;
  if(ServerDataModule!=NULL && GetADOConnectActive())//获取数据库活动
    pTable=ServerDataModule->m_InADOQuery;
  else pTable=NULL;
  return(pTable);
 }
//获取刷卡进出记录表
TDataSet *GetIODataQuery(void)
 {
  TDataSet *pTable;
  if(ServerDataModule!=NULL && GetADOConnectActive())//获取数据库活动
    pTable=ServerDataModule->m_IODataADOQuery;
  else pTable=NULL;
  return(pTable);
 }
//获取数据库记录表
TDataSet *GetRecordQuery(void)
 {
  TDataSet *pTable;
  if(ServerDataModule!=NULL && GetADOConnectActive())//获取数据库活动
    pTable=ServerDataModule->m_RecordADOQuery;
  else pTable=NULL;
  return(pTable);
 }
//获取数据库编辑表
TDataSet *GetEditQuery(void)
 {
  TDataSet *pTable;
  if(ServerDataModule!=NULL && GetADOConnectActive())//获取数据库活动
    pTable=ServerDataModule->m_EditADOQuery;
  else pTable=NULL;
  return(pTable);
 }
//获取数据库其它表
TDataSet *GetOtherQuery(void)
 {
  TDataSet *pTable;

  if(ServerDataModule!=NULL && GetADOConnectActive())//获取数据库活动
    pTable=ServerDataModule->m_OtherADOQuery;
  else pTable=NULL;
  return(pTable);
 }
//获取数据库活动
int GetADOConnectActive(void)
 {
  TADOConnection *pConnect;
  int rc;

  pConnect = (TADOConnection *)GetADOConnection();
  if(pConnect!=NULL)
    rc=pConnect->Connected;
  else rc=FALSE;
  return(rc);
 }

⌨️ 快捷键说明

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