📄 database.cpp
字号:
// DataBase.cpp: implementation of the CDataBase class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "DataBase.h"
#include "stdlib.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
CString g_str; //全局变量,操作数据库
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDB::CDB()
{
}
CDB::~CDB()
{
CloseDatabase();
}
BOOL CDB::ConnectDB(char *cIp, char *cDbName, char *cUserName, char *cPassWord)
{
CString connStr;
try
{
m_db.SetLoginTimeout(5);//add by chensq
connStr.Format("DRIVER={SQL SERVER};Server=%s;Database=%s;UID=%s;PWD=%s",cIp,cDbName,cUserName,cPassWord);
m_db.OpenEx(connStr,CDatabase::noOdbcDialog);
}
catch(...)
{
return false;
}
m_rs.m_pDatabase=&m_db;
return true;
}
BOOL CDB::ExecuteSQL(CString &sql)
{
TRACE1("%s",sql);
m_db.ExecuteSQL(sql);
return true;
}
void CDB::CloseDatabase()
{
if(m_db.IsOpen())
m_db.Close();
}
BOOL CDB::OpenTable(CString &strSql)
{
if(m_rs.IsOpen())
{
m_rs.Close();
}
try
{
TRACE1("%s",strSql);
m_rs.Open(CRecordset::snapshot,strSql,CRecordset::readOnly);
}
catch(...)
{
MessageBox(NULL,"打开数据库错误","err",0);
m_rs.Close();
return false;
}
if(!m_rs.IsOpen())
{
MessageBox(NULL,"无法连接数据库","err",0);
return false;
}
return true;
}
BOOL CDB::GetFieldValue(char *cFieldName,int *iResult)
{
CString str;
m_rs.GetFieldValue(cFieldName,str);
*iResult=atoi(str.GetBuffer(0));
return true;
}
BOOL CDB::GetFieldValue(int iField, int *iResult)
{
m_rs.GetFieldValue(iField,g_str);
*iResult=atoi(g_str.GetBuffer(0));
return true;
}
BOOL CDB::GetFieldValue(char *cFieldName, double *dResult)
{
m_rs.GetFieldValue(cFieldName,g_str);
*dResult=atof(g_str.GetBuffer(0));
return true;
}
BOOL CDB::GetFieldValue(char *cFieldName, CString &strResult)
{
m_rs.GetFieldValue(cFieldName,strResult);
return true;
}
bool CDB::GetFieldValue(int iField, CString &strResult)
{
m_rs.GetFieldValue(iField,strResult);
return true;
}
BOOL CDB::IsEOF()
{
return m_rs.IsEOF();
}
void CDB::MoveNext()
{
m_rs.MoveNext();
}
void CDB::CloseRecordSet()
{
m_rs.Close();
}
//事务处理
BOOL CDB::BeginTrans()
{
return m_db.BeginTrans();
}
BOOL CDB::CommitTrans()
{
return m_db.CommitTrans();
}
BOOL CDB::Rollback()
{
return m_db.Rollback();
}
BOOL CDB::DBState() //数据库连接是否断开
{
return m_db.IsOpen();
}
BOOL CDB::GetVarIntValue(char *cFieldName, int *iResult) //得到长整数值
{
CDBVariant m_varValue;
m_rs.GetFieldValue(cFieldName,m_varValue);
*iResult=m_varValue.m_lVal;
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -