📄 adodatabase.h
字号:
#if !defined(AFX_ADODATABASE_H__CC00630B_09FF_483D_81AB_7DC19E3EA26A__INCLUDED_)
#define AFX_ADODATABASE_H__CC00630B_09FF_483D_81AB_7DC19E3EA26A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAX_FIELDS 255 //一个表中最大字段数
#define MAX_FIELDS_LEN 30 //字段名字最大字节数
#define MAX_FIELDS_DATA_LEN 280 //字符字段中字符的最大字节数
//绑定所以字段【通用处理所以表】
class CAllFieldValue
{
public:
char FieldValue[MAX_FIELDS][MAX_FIELDS_DATA_LEN] ; //统一字段值,如果是字符型,最长MAX_FIELDS_DATA_LEN个字节
static int nFieldCount ;
BEGIN_COLUMN_MAP(CAllFieldValue)
COLUMN_ENTRY(1,FieldValue[0])
COLUMN_ENTRY(2,FieldValue[1])
COLUMN_ENTRY(3,FieldValue[2])
COLUMN_ENTRY(4,FieldValue[3])
COLUMN_ENTRY(5,FieldValue[4])
COLUMN_ENTRY(6,FieldValue[5])
COLUMN_ENTRY(7,FieldValue[6])
COLUMN_ENTRY(8,FieldValue[7])
END_COLUMN_MAP()
void ClearFieldValue()
{//清除所有字段值
memset(this, 0, sizeof(*this));
}
} ;
class CAdoDatabase
{
public:
void MyGetColumnValue();
void ConvertNumericToChar();
void RollbackTran();
void CommitTran();
void StartTran();
BOOL NextMatchingRecord();
int SelectMatchingRecords(char *szWhere);
BOOL ExecuteQuery(char *szQuery);
BOOL UpdateRecord(char *szWhere);
void Quote(char* sText);
BOOL AddRecord();
BOOL ExecuteSQL(char *szSQL);
BOOL ConnectDB2(char *szServerName, char *szDatabase, char *szUid, char *szPwd);
BOOL ConnectDB1(char* szDNS,char* szUid,char* szPwd);
BOOL ConnectDB(CDBPropSet dbPropSet);
void DisconnectionDB();
CAdoDatabase();
virtual ~CAdoDatabase();
//------------置换用到-----------------------------
string szOld ,szNew ;
int nPos ,nGet ;
BOOL bReplace ;
/*-------------OLE DB 操作---------------------------*/
char m_Provider[20] ; //数据库提供着 MSDASQL SQLOLEDB
CDataSource m_DataSource ; //数据源句柄
CSession m_Session ; //会话句柄
CCommand <CNoAccessor,CNoRowset> m_CmdExecute ; //公共执行SQL句柄【注,没有行集返回】
HINSTANCE hInstance ; //取得错误的句柄
CCommand<CDynamicAccessor,CRowset> m_CmdQuery;
/*------------------ 列信息----------------*/
DBSTATUS dbStatus ; /*用于判断该列是否为空*/
DBCOLUMNINFO *m_pColsInfo; /*列信息*/
ULONG m_nColCount; /*列总数*/
LPOLESTR m_pStrBuffer; /**/
unsigned long nColType ; /*列类型*/
LONG dbLong ; /*用于取 整形列*/
DB_NUMERIC dbNumeric ; /*用于取 Numeric列*/
char szNumeric[20] ; /*用于辅助取 Numeric*/
unsigned int nNumericLen ; /*用于取 Numeric 列*/
__int64 dbInt64 ; /*用于取 Numeric列 只用*/
/*--------------------时间、日期处理---------------------*/
DBTIME dbTime ; //时间 20:12:20
DBDATE dbDate ; //日期 2003-10-31
DBTIMESTAMP dbTimeStamp; //时间戳 2003-10-31 20:12:20
BOOL m_bOpen ; //是否打开
char m_szExecute[1024*3]; //执行语句
char m_szErrMsg[1024] ; //错误信息
HRESULT hr;
int ff ;
string szText1 ;
/*-------------临时绑定表--------------------*/
char m_szTableName[255] ; /*临时绑定表名称*/
int m_nFields; /*临时绑定表字段的总数*/
char m_sFieldName[MAX_FIELDS] [MAX_FIELDS_LEN]; /*临时绑定表字段名字*/
char m_sFieldValue[MAX_FIELDS][MAX_FIELDS_DATA_LEN]; /*临时绑定表字段值*/
int m_bNumeric[MAX_FIELDS] ; /*临时绑定表字段是否为数值类型 1 int 2 varchar 3 numeric 4 date */
protected:
void GetExecError();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -