House.H
上传用户:yuxuan88
上传日期:2022-05-09
资源大小:2290k
文件大小:3k
源码类别:

行业应用

开发平台:

Visual C++

  1. // House.H : Declaration of the CHouse class
  2. #ifndef __HOUSE_H_
  3. #define __HOUSE_H_
  4. class CHouseAccessor
  5. {
  6. public:
  7. TCHAR m_beeppager[51]; LONG m_buildingnum; LONG m_cellnum; TCHAR m_email[51]; TCHAR m_housemaster[51]; TCHAR m_housetel[51]; TCHAR m_mobile[51]; TCHAR m_office[51]; TCHAR m_officetel[51]; LONG m_roomnum; TCHAR m_sectionname[51];
  8. BEGIN_COLUMN_MAP(CHouseAccessor)
  9. COLUMN_ENTRY(1, m_housemaster) COLUMN_ENTRY(2, m_sectionname) COLUMN_ENTRY(3, m_buildingnum) COLUMN_ENTRY(4, m_cellnum) COLUMN_ENTRY(5, m_roomnum) COLUMN_ENTRY(6, m_housetel) COLUMN_ENTRY(7, m_office) COLUMN_ENTRY(8, m_officetel) COLUMN_ENTRY(9, m_beeppager) COLUMN_ENTRY(10, m_mobile) COLUMN_ENTRY(11, m_email) END_COLUMN_MAP()
  10. DEFINE_COMMAND(CHouseAccessor, _T("  SELECT  housemaster,  sectionname,  buildingnum,  cellnum,  roomnum,  housetel,  office,  officetel,  beeppager,  mobile,  email   FROM house"))
  11. // You may wish to call this function if you are inserting a record and wish to
  12. // initialize all the fields, if you are not going to explicitly set all of them.
  13. void ClearRecord()
  14. {
  15. memset(this, 0, sizeof(*this));
  16. }
  17. };
  18. class CHouse : public CCommand<CAccessor<CHouseAccessor> >
  19. {
  20. public:
  21. HRESULT Open()
  22. {
  23. HRESULT hr;
  24. hr = OpenDataSource();
  25. if (FAILED(hr))
  26. return hr;
  27. return OpenRowset();
  28. }
  29. HRESULT OpenDataSource()
  30. {
  31. HRESULT hr;
  32. CDataSource db;
  33. CDBPropSet dbinit(DBPROPSET_DBINIT);
  34. 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("Inhabitants.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);
  35. if (FAILED(hr))
  36. return hr;
  37. return m_session.Open(db);
  38. }
  39. HRESULT OpenRowset()
  40. {
  41. // Set properties for open
  42. CDBPropSet propset(DBPROPSET_ROWSET);
  43. propset.AddProperty(DBPROP_IRowsetChange, true);
  44. propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);
  45. return CCommand<CAccessor<CHouseAccessor> >::Open(m_session, NULL, &propset);
  46. }
  47. CSession m_session;
  48. };
  49. #endif // __HOUSE_H_