📄 ceado.h
字号:
// CEADO.h: interface for the CCEADO class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CEADO_H__B616DCF2_E8A5_4F1B_B33A_0090B4C65063__INCLUDED_)
#define AFX_CEADO_H__B616DCF2_E8A5_4F1B_B33A_0090B4C65063__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "comdef.h"
#include "STComError.h"
_COM_SMARTPTR_TYPEDEF(IUnknown, __uuidof(IUnknown));
#import ".\adoce31\adoce31.tlb" rename ("EOF", "A_EOF") rename_namespace ("AdoNS")
#import ".\adoce31\adoxce31.tlb" rename ("EOF", "A_EOF") rename_namespace ("AdoXNS")
#endif // !defined(AFX_CEADO_H__B616DCF2_E8A5_4F1B_B33A_0090B4C65063__INCLUDED_)
class AFX_EXT_CLASS CEADOConnection
{
private:
LPTSTR m_lpConnectionString; //连接字符串
LPTSTR m_lpdbName; //连接sqlce2数据库时的数据库文件名
LPTSTR m_lpUser; //用户名
LPTSTR m_lpPwd; //密码
AdoNS::_ConnectionPtr m_pConnection;
public:
CEADOConnection();
~CEADOConnection();
AdoNS::_ConnectionPtr Open(LPCTSTR szConnectString, LPCTSTR szUsername=_T(""), LPCTSTR szPassword=_T("")); //open a data connection by using a connection string
AdoNS::_ConnectionPtr OpenDB(LPCTSTR szDBname); //open a data connection by using a database name
void Close(); //Close a existed connection
long BeginTrans();
long CommitTrans();
long RollbackTrans();
int ExecuteSQL(LPCTSTR lpSQL);
inline AdoNS::_ConnectionPtr& GetConnectionPtr()
{
return m_pConnection;
}
inline BOOL IsConnected()
{
return (m_pConnection->State == AdoNS::adStateOpen);
}
};
class AFX_EXT_CLASS CEADORecordset
{
private:
AdoNS::_ConnectionPtr m_pConnection; //connection to a database
AdoNS::_RecordsetPtr m_pRecordset; //recordset that all operation need
public:
CEADORecordset();
CEADORecordset(AdoNS::_ConnectionPtr& connectionPtr); //constructor for using a existed connection
~CEADORecordset();
CEADORecordset(const CEADORecordset& adoRs); //copy contrustor
CEADORecordset& operator=(const CEADORecordset& adoRs); //assignment operator
BOOL PutConnection(AdoNS::_ConnectionPtr& connectionPtr); //put a connection with it
BOOL MoveNext();
BOOL MoveFirst();
BOOL MovePrev();
BOOL MoveLast();
BOOL Open(LPCTSTR szSQLString, enum AdoNS::CursorTypeEnum eCursorType=AdoNS::adOpenForwardOnly,
enum AdoNS::LockTypeEnum eLockType=AdoNS::adLockReadOnly,
enum AdoNS::CommandEnum eOptions=AdoNS::adCmdText);
int OpenEx(LPCTSTR szSQLString, enum AdoNS::CursorTypeEnum eCursorType=AdoNS::adOpenForwardOnly,
enum AdoNS::LockTypeEnum eLockType=AdoNS::adLockReadOnly,
enum AdoNS::CommandEnum eOptions=AdoNS::adCmdText);
BOOL IsLast();
BOOL IsFirst();
BOOL IsRecordsetNULL();
void Close();
long GetRecordCount();
long GetFieldCount();
_variant_t GetFieldValue(LPCTSTR lpFieldName);
_variant_t GetFieldValue(int nIndex);
BOOL GetFieldBoolValue(LPCTSTR lpFieldName);
CString GetFieldCStringValue(LPCTSTR lpFieldName);
long GetFieldLongValue(LPCTSTR lpFieldName);
double GetFieldDoubleValue(LPCTSTR lpFieldName);
float GetFieldFloatValue(LPCTSTR lpFieldName);
COleDateTime GetFieldDateValue(LPCTSTR lpFieldName);
BSTR GetFieldBSTRValue(LPCTSTR lpFieldName);
BOOL GetFieldValue(LPCTSTR lpFieldName, CString& str); //get all data type
BOOL GetFieldvalue(LPCTSTR lpFieldName, long& nReturnvalue);
BOOL GetFieldvalue(LPCTSTR lpFieldName, double& nReturnvalue);
BOOL GetFieldvalue(LPCTSTR lpFieldName, CString& strReturnvalue);
BOOL GetFieldvalue(LPCTSTR lpFieldName, COleDateTime& dtReturnvalue);
BOOL IsFieldNULL(LPCTSTR lpFieldName);
inline BOOL IsOpened() {
return (m_pRecordset->State == AdoNS::adStateOpen);
}
};
class AFX_EXT_CLASS CEADOXCatalog {
private:
AdoXNS::_CatalogPtr m_pCatalog;
LPTSTR m_lpConnectionString;
LPTSTR m_lpDatabaseName;
LPTSTR m_Username;
LPTSTR m_Password;
public:
CEADOXCatalog();
~CEADOXCatalog();
BOOL Open(LPCTSTR lpstrConnection, LPCTSTR lpUsername=_T(""), LPCTSTR lpPassword=_T(""));
BOOL CreateDatabase(LPCTSTR lpDBName);
BOOL AddTable(AdoXNS::_TablePtr &pTable);
inline AdoXNS::_CatalogPtr& getCatalog() {
return m_pCatalog;
}
};
class AFX_EXT_CLASS CEADOXTable {
/*
enum DataTypeEnum
{
adBigInt = 20,
adBinary = 128,
adBoolean = 11,
adBSTR = 8,
adChar = 129,
adCurrency = 6,
adDate = 7,
adDBDate = 133,
adDBTime = 134,
adDBTimeStamp = 135,
adDecimal = 14,
adDouble = 5,
adEmpty = 0,
adError = 10,
adGUID = 72,
adIDispatch = 9,
adInteger = 3,
adIUnknown = 13,
adLongVarBinary = 205,
adLongVarChar = 201,
adLongVarWChar = 203,
adNumeric = 131,
adSingle = 4,
adSmallInt = 2,
adTinyInt = 16,
adUnsignedBigInt = 21,
adUnsignedInt = 19,
adUnsignedSmallInt = 18,
adUnsignedTinyInt = 17,
adUserDefined = 132,
adVarBinary = 204,
adVarChar = 200,
adVariant = 12,
adVarWChar = 202,
adWChar = 130
};
*/
private:
AdoXNS::_TablePtr m_pTable;
AdoXNS::_CatalogPtr m_pCatalog;
public:
CEADOXTable();
CEADOXTable(AdoXNS::_CatalogPtr &pCatalog);
~CEADOXTable();
BOOL CreateTable(LPCTSTR lpTablename);
BOOL AddField(LPCTSTR lpFieldname, AdoXNS::DataTypeEnum eDataType, int nLength);
inline AdoXNS::_TablePtr& getTable() {
return m_pTable;
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -