📄 adopack.h
字号:
#pragma once
#include <math.h>
#include <icrsint.h>
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF", "EndOfFile")
#import "C:\Program Files\Common Files\System\ado\MSJRO.DLL" no_namespace
using namespace ADODB;
namespace adoPack
{
CString IntToStr(int nVal);
CString LongToStr(long lVal);
CString ULongToStr(unsigned long ulVal);
CString DblToStr(double dblVal, int ndigits = 20);
CString DblToStr(float fltVal);
void DumpComError(_com_error &e);
struct CADOFieldInfo
{
char m_strName[30];
short m_nType;
long m_lSize;
long m_lDefinedSize;
long m_lAttributes;
short m_nOrdinalPosition;
BOOL m_bRequired;
BOOL m_bAllowZeroLength;
long m_lCollatingOrder;
};
class ADOEXPORT CJetEngine
{
public:
CJetEngine() {}
virtual ~CJetEngine() {}
static BOOL CCompactDatabase(CString strDatabaseSource, CString strDatabaseDestination);
};
/************************************************************************/
/* CADOConnection 数据库连接类
/************************************************************************/
class ADOEXPORT CADOConnection
{
public:
enum cadoConnectModeEnum
{
connectModeUnknown = adModeUnknown,
connectModeRead = adModeRead,
connectModeWrite = adModeWrite,
connectModeReadWrite = adModeReadWrite,
connectModeShareDenyRead = adModeShareDenyRead,
connectModeShareDenyWrite = adModeShareDenyWrite,
connectModeShareExclusive = adModeShareExclusive,
connectModeShareDenyNone = adModeShareDenyNone
};
CADOConnection();
virtual ~CADOConnection();
_ConnectionPtr GetActiveConnection();
BOOL OpenConnection(LPCTSTR lpstrConnection = _T(""), LPCTSTR lpstrUserID = _T(""), LPCTSTR lpstrPassword = _T(""));
void CloseConnection();
BOOL IsConnectionOpened();
BOOL ExecuteSQL(LPCTSTR lpstrExec); //执行不返回记录集的SQL语句
int GetRecordsAffected(); //获取执行结果所影响的行数
DWORD GetRecordCount(_RecordsetPtr pRS); //获取pRS记录集中的记录个数
long BeginTransaction();
long CommitTransaction();
long RollbackTransaction() ;
void SetConnectionMode(cadoConnectModeEnum nMode);
void SetConnectionString(LPCTSTR lpstrConnection);
CString GetConnectionString();
void SetConnectionTimeout(long nConnectionTimeout = 30);
CString GetLastErrorString();
DWORD GetLastError();
CString GetErrorDescription() ;
public:
_ConnectionPtr m_pConn;
protected:
CString m_strConnection;
CString m_strLastError;
CString m_strErrorDescription;
DWORD m_dwLastError;
int m_nRecordsAffected;
long m_nConnectionTimeout;
};
inline int CADOConnection::GetRecordsAffected() {return m_nRecordsAffected;}
inline long CADOConnection::BeginTransaction() {return m_pConn->BeginTrans();};
inline long CADOConnection::CommitTransaction() {return m_pConn->CommitTrans();};
inline long CADOConnection::RollbackTransaction() {return m_pConn->RollbackTrans();};
inline void CADOConnection::SetConnectionMode(cadoConnectModeEnum nMode) {m_pConn->PutMode((enum ConnectModeEnum)nMode);};
inline void CADOConnection::SetConnectionString(LPCTSTR lpstrConnection) {m_strConnection = lpstrConnection;};
inline CString CADOConnection::GetConnectionString() {return m_strConnection;};
inline CString CADOConnection::GetLastErrorString() {return m_strLastError;};
inline DWORD CADOConnection::GetLastError() {return m_dwLastError;};
inline CString CADOConnection::GetErrorDescription() {return m_strErrorDescription;};
inline void CADOConnection::SetConnectionTimeout(long nConnectionTimeout /*= 30*/) {m_nConnectionTimeout = nConnectionTimeout;};
inline _ConnectionPtr CADOConnection::GetActiveConnection() {return m_pConn;};
/************************************************************************/
/* CADORecordset 记录集类
/************************************************************************/
class CADOCommand;
class ADOEXPORT CADORecordset
{
public:
enum cadoOpenEnum
{
openUnknown = 0,
openQuery = 1,
openTable = 2,
openStoredProc = 3
};
enum cadoEditEnum
{
dbEditNone = 0,
dbEditNew = 1,
dbEdit = 2
};
enum cadoPositionEnum
{
positionUnknown = -1,
positionBOF = -2,
positionEOF = -3
};
enum cadoSearchEnum
{
searchForward = 1,
searchBackward = -1
};
enum cadoDataType
{
typeEmpty = ADODB::adEmpty,
typeTinyInt = ADODB::adTinyInt,
typeSmallInt = ADODB::adSmallInt,
typeInteger = ADODB::adInteger,
typeBigInt = ADODB::adBigInt,
typeUnsignedTinyInt = ADODB::adUnsignedTinyInt,
typeUnsignedSmallInt = ADODB::adUnsignedSmallInt,
typeUnsignedInt = ADODB::adUnsignedInt,
typeUnsignedBigInt = ADODB::adUnsignedBigInt,
typeSingle = ADODB::adSingle,
typeDouble = ADODB::adDouble,
typeCurrency = ADODB::adCurrency,
typeDecimal = ADODB::adDecimal,
typeNumeric = ADODB::adNumeric,
typeBoolean = ADODB::adBoolean,
typeError = ADODB::adError,
typeUserDefined = ADODB::adUserDefined,
typeVariant = ADODB::adVariant,
typeIDispatch = ADODB::adIDispatch,
typeIUnknown = ADODB::adIUnknown,
typeGUID = ADODB::adGUID,
typeDate = ADODB::adDate,
typeDBDate = ADODB::adDBDate,
typeDBTime = ADODB::adDBTime,
typeDBTimeStamp = ADODB::adDBTimeStamp,
typeBSTR = ADODB::adBSTR,
typeChar = ADODB::adChar,
typeVarChar = ADODB::adVarChar,
typeLongVarChar = ADODB::adLongVarChar,
typeWChar = ADODB::adWChar,
typeVarWChar = ADODB::adVarWChar,
typeLongVarWChar = ADODB::adLongVarWChar,
typeBinary = ADODB::adBinary,
typeVarBinary = ADODB::adVarBinary,
typeLongVarBinary = ADODB::adLongVarBinary,
typeChapter = ADODB::adChapter,
typeFileTime = ADODB::adFileTime,
typePropVariant = ADODB::adPropVariant,
typeVarNumeric = ADODB::adVarNumeric,
typeArray = ADODB::adVariant
};
enum cadoSchemaType
{
schemaSpecific = adSchemaProviderSpecific,
schemaAsserts = adSchemaAsserts,
schemaCatalog = adSchemaCatalogs,
schemaCharacterSet = adSchemaCharacterSets,
schemaCollections = adSchemaCollations,
schemaColumns = adSchemaColumns,
schemaConstraints = adSchemaCheckConstraints,
schemaConstraintColumnUsage = adSchemaConstraintColumnUsage,
schemaConstraintTableUsage = adSchemaConstraintTableUsage,
shemaKeyColumnUsage = adSchemaKeyColumnUsage,
schemaTableConstraints = adSchemaTableConstraints,
schemaColumnsDomainUsage = adSchemaColumnsDomainUsage,
schemaIndexes = adSchemaIndexes,
schemaColumnPrivileges = adSchemaColumnPrivileges,
schemaTablePrivileges = adSchemaTablePrivileges,
schemaUsagePrivileges = adSchemaUsagePrivileges,
schemaProcedures = adSchemaProcedures,
schemaTables =adSchemaTables,
schemaProviderTypes = adSchemaProviderTypes,
schemaViews = adSchemaViews,
schemaProcedureParameters = adSchemaProcedureParameters,
schemaForeignKeys = adSchemaForeignKeys,
schemaPrimaryKeys = adSchemaPrimaryKeys,
schemaProcedureColumns = adSchemaProcedureColumns,
schemaDBInfoKeywords = adSchemaDBInfoKeywords,
schemaDBInfoLiterals = adSchemaDBInfoLiterals,
schemaCubes = adSchemaCubes,
schemaDimensions = adSchemaDimensions,
schemaHierarchies = adSchemaHierarchies,
schemaLevels = adSchemaLevels,
schemaMeasures = adSchemaMeasures,
schemaProperties = adSchemaProperties,
schemaMembers = adSchemaMembers,
};
public:
CADORecordset();
CADORecordset(CADOConnection* pDB);
virtual ~CADORecordset();
BOOL SetFieldEmpty(int nIndex);
BOOL SetFieldValue(int nIndex, int nValue);
BOOL SetFieldValue(int nIndex, long lValue);
BOOL SetFieldValue(int nIndex, unsigned long lValue);
BOOL SetFieldValue(int nIndex, double dblValue);
BOOL SetFieldValue(int nIndex, CString strValue);
BOOL SetFieldValue(int nIndex, COleDateTime time);
BOOL SetFieldValue(int nIndex, bool bValue);
BOOL SetFieldValue(int nIndex, COleCurrency cyValue);
BOOL SetFieldValue(int nIndex, _variant_t vtValue);
BOOL SetFieldEmpty(LPCTSTR lpFieldName);
BOOL SetFieldValue(LPCTSTR lpFieldName, int nValue);
BOOL SetFieldValue(LPCTSTR lpFieldName, long lValue);
BOOL SetFieldValue(LPCTSTR lpFieldName, unsigned long lValue);
BOOL SetFieldValue(LPCTSTR lpFieldName, double dblValue);
BOOL SetFieldValue(LPCTSTR lpFieldName, CString strValue);
BOOL SetFieldValue(LPCTSTR lpFieldName, COleDateTime time);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -