Department.H
上传用户:benben_wyd
上传日期:2010-02-26
资源大小:1229k
文件大小:2k
- // Department.H : Declaration of the CDepartment class
- #ifndef __DEPARTMENT_H_
- #define __DEPARTMENT_H_
- class CDepartmentAccessor
- {
- public:
- TCHAR m_DepartmentCode[5];
TCHAR m_DepartmentName[51];
- BEGIN_COLUMN_MAP(CDepartmentAccessor)
- COLUMN_ENTRY(1, m_DepartmentCode)
COLUMN_ENTRY(2, m_DepartmentName)
END_COLUMN_MAP()
- DEFINE_COMMAND(CDepartmentAccessor, _T("
SELECT
DepartmentCode,
DepartmentName
FROM Department"))
- // 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));
- }
- };
- //Chuck Wood changed class definition to use an array rowset
- class CDepartment :
- // public CCommand<CAccessor<CDepartmentAccessor>>
- public CCommand<CAccessor<CDepartmentAccessor>, CArrayRowset<CDepartmentAccessor> >
- {
- 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_PERSIST_SENSITIVE_AUTHINFO, false);
dbinit.AddProperty(DBPROP_INIT_DATASOURCE, OLESTR("Classes"));
dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4);
dbinit.AddProperty(DBPROP_INIT_LCID, (long)1033);
hr = db.Open(_T("MSDASQL"), &dbinit);
- if (FAILED(hr))
- return hr;
- return m_session.Open(db);
- }
- HRESULT OpenRowset()
- {
- // Set properties for open
- CDBPropSet propset(DBPROPSET_ROWSET);
- propset.AddProperty(DBPROP_IRowsetChange, true);
- propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);
- //Changed by Chuck Wood to use proper ancestor
- return CCommand<CAccessor<CDepartmentAccessor>, CArrayRowset<CDepartmentAccessor> >::Open(m_session, NULL, &propset);
- }
- CSession m_session;
- };
- #endif // __DEPARTMENT_H_