?? record.h
字號:
// Record.H : Declaration of the CRecord class
#ifndef __RECORD_H_
#define __RECORD_H_
class CRecordAccessor
{
public:
TCHAR m_column0[1024]; // 有關雇員背景的一般信息。 TCHAR m_column1[16]; // 有關雇員背景的一般信息。 DATE m_column2; // 有關雇員背景的一般信息。 TCHAR m_column3[16]; // 州或省。 TCHAR m_column4[61]; // 街道或郵政信箱。 TCHAR m_column5[5]; // 內部電話分機號碼。 DATE m_column6; // 內部電話分機號碼。 LONG m_ID; // 自動賦予新雇員的編號。 TCHAR m_column7[16]; // 自動賦予新雇員的編號。 TCHAR m_column8[25]; // 電話號碼包括國家代號或區號。 TCHAR m_column9[11]; // 電話號碼包括國家代號或區號。 LONG m_column10; // 雇員的上級。 TCHAR m_column11[31]; // 雇員的頭銜。 TCHAR m_column12[21]; // 雇員的頭銜。 TCHAR m_column13[11]; // 雇員的頭銜。 ISequentialStream* m_column14; // 雇員照片。 TCHAR m_column15[26]; // 禮貌的稱呼。
BEGIN_COLUMN_MAP(CRecordAccessor)
COLUMN_ENTRY(1, m_ID) COLUMN_ENTRY(2, m_column0) COLUMN_ENTRY(3, m_column1) COLUMN_ENTRY(4, m_column2) COLUMN_ENTRY(5, m_column3) COLUMN_ENTRY_TYPE(6, DBTYPE_DATE, m_column4) COLUMN_ENTRY_TYPE(7, DBTYPE_DATE, m_column5) COLUMN_ENTRY(8, m_column6) COLUMN_ENTRY(9, m_column7) COLUMN_ENTRY(10, m_column8) COLUMN_ENTRY(11, m_column9) COLUMN_ENTRY(12, m_column10) COLUMN_ENTRY(13, m_column11) COLUMN_ENTRY(14, m_column12) BLOB_ENTRY(15, IID_ISequentialStream, STGM_READ, m_column13) COLUMN_ENTRY(16, m_column14) COLUMN_ENTRY(17, m_column15)END_COLUMN_MAP()
DEFINE_COMMAND(CRecordAccessor, _T(" \ SELECT \ 雇員ID, \ 姓氏, \ 名字, \ 頭銜, \ 尊稱, \ 出生日期, \ 雇用日期, \ 地址, \ 城市, \ 地區, \ 郵政編碼, \ 國家, \ 家庭電話, \ 分機, \ 照片, \ 備注, \ 上級 \ FROM 雇員"))
// You may wish to call this function if you are inserting a record and wish to
// initialize all the fields, if you are not going to explicitly set all of them.
void ClearRecord()
{
memset(this, 0, sizeof(*this));
}
};
class CRecord : public CCommand<CAccessor<CRecordAccessor> >
{
public:
HRESULT Open()
{
HRESULT hr;
hr = OpenDataSource();
if (FAILED(hr))
return hr;
return OpenRowset();
}
HRESULT OpenDataSource()
{
HRESULT hr;
CDataSource db;
CDBPropSet dbinit(DBPROPSET_DBINIT);
dbinit.AddProperty(DBPROP_AUTH_CACHE_AUTHINFO, true); dbinit.AddProperty(DBPROP_AUTH_ENCRYPT_PASSWORD, false); dbinit.AddProperty(DBPROP_AUTH_MASK_PASSWORD, false); dbinit.AddProperty(DBPROP_AUTH_PASSWORD, OLESTR("")); dbinit.AddProperty(DBPROP_AUTH_USERID, OLESTR("Admin")); dbinit.AddProperty(DBPROP_INIT_DATASOURCE, OLESTR("F:\\DB_Project\\Databases\\Employees.mdb")); dbinit.AddProperty(DBPROP_INIT_MODE, (long)16); dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4); dbinit.AddProperty(DBPROP_INIT_PROVIDERSTRING, OLESTR("")); dbinit.AddProperty(DBPROP_INIT_LCID, (long)1033); dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false); hr = db.Open(_T("Microsoft.Jet.OLEDB.4.0"), &dbinit);
if (FAILED(hr))
return hr;
return m_session.Open(db);
}
HRESULT OpenRowset()
{
return CCommand<CAccessor<CRecordAccessor> >::Open(m_session);
}
CSession m_session;
};
#endif // __RECORD_H_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -