📄 servermodule.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 + -