📄 adoconn.h
字号:
// ADOConn.h: interface for the ADOConn class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ADOCONN_H__9032B8B7_E9CD_4553_81C6_45A8772592CE__INCLUDED_)
#define AFX_ADOCONN_H__9032B8B7_E9CD_4553_81C6_45A8772592CE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class ADOConn
{
public:
/* public methods */
ADOConn();
virtual ~ADOConn();
/* Initialization Database connection */
virtual void OnInitDBConnect();
/* Require */
_RecordsetPtr &GetRecordSet (_bstr_t bstrSQL);
/* Execute sql Statement */
bool ExecuteSQL (_bstr_t bstrSQL);
/* Exit Connect */
void ExitConnect ();
/* other public members */
bool MovePrevious (); // move previous
bool MoveLast (); // Move last
bool MoveNext (); // Move next
bool MoveFirst (); // Move first
long GetRecordCount (); // Get number of record
int GetFieldCount(); // Get Field Count
bool Move (int nRecordNum); // Moving Record
// ???
CString GetFieldValue (CString Field); // Get field value
CString GetFieldName (int nNumber); // Get field Name;
CString GetFieldType (int nNumber); // Get field Type
void GetErrors (_com_error eErrors); // Get error information
bool IsNull(int nIndex);
public:
/* public members */
/* Add pointer that point to Connection object */
_ConnectionPtr m_pConnection;
/* Add pointer that point to Recordset object */
_RecordsetPtr m_pRecordset;
};
/* Connect to Access Database */
class AccADOConn: public ADOConn
{
public:
void OnInitDBConnect()
{
/* Connect to Access Database */
_bstr_t strConnect;
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + (_bstr_t)CGlobal::sAccFilePath;
//_bstr_t strConnect1 = (_bstr_t)strConnect;
/* Open Connector */
::CoInitialize(NULL);
try
{
// Create Connection Object
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
// Display Error Description
AfxMessageBox(e.Description());
}
}
};
/* Connect to Excel Database */
class ExcADOConn: public ADOConn
{
public:
void OnInitDBConnect()
{
/* Connect to Excel Database */
_bstr_t strConnect;
strConnect = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" + (_bstr_t)CGlobal::sExcFilePath + ";Extended Properties =\"Excel 8.0;HDR=Yes;IMEX=0;\"";
/* Open Connector */
::CoInitialize(NULL);
try
{
// Create Connection Object
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
};
/* Connect to SQL Server Database */
class SqlADOConn: public ADOConn
{
public:
void OnInitDBConnect()
{
/* Connect to SQL Server Database */
try
{
/* Create Connection Object */
m_pConnection.CreateInstance ("ADODB.Recordset");
/* Set Connect String, must to be BSTR or _bstr_ type */
_bstr_t strConnect = "Provide = SQLOLEDB; Server = local; Database = FastSellStore; uid = sa; pwd = sa;";
m_pConnection->Open (strConnect, "", "", adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox (e.Description());
}
}
};
#endif // !defined(AFX_ADOCONN_H__9032B8B7_E9CD_4553_81C6_45A8772592CE__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -