Tblaccountview.cpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. ////////////////////////////////////////////////////////////////////////////////
  2. // CTblaccountview 实现
  3. // 代码生成在 2014年9月24日, 17:08
  4. #include "stdafx.h"
  5. #include "Tblaccountview.h"
  6. IMPLEMENT_DYNAMIC(CTblaccountview, CRecordset)
  7. CTblaccountview::CTblaccountview(CDatabase* pdb): CRecordset(pdb)
  8. {
  9. m_account = _T("");
  10. m_name = _T("");
  11. m_psw = _T("");
  12. m_rights = _T("");
  13. m_rate1 = _T("");
  14. m_rate2 = _T("");
  15. m_base = _T("");
  16. m_bz = _T("");
  17. m_rights2 = _T("");
  18. m_discount = _T("");
  19. m_discount2 = _T("");
  20. m_staff_dimission = _T("");
  21. m_level = _T("");
  22. m_staff_department = _T("");
  23. m_nFields = 14; // 注意:image类型未生成成员变量,此处值可能不对。
  24. m_nDefaultType = dynaset;
  25. }
  26. //#error 安全问题:连接字符串可能包含密码。
  27. // 此连接字符串中可能包含明文密码和/或其他重要
  28. // 信息。请在查看完此连接字符串并找到所有与安全
  29. // 有关的问题后移除 #error。可能需要将此密码存
  30. // 储为其他格式或使用其他的用户身份验证。
  31. CString CTblaccountview::GetDefaultConnect()
  32. {
  33. return _T("ODBC;DSN");
  34. }
  35. CString CTblaccountview::GetDefaultSQL()
  36. {
  37. return _T("[dbo].[accountview]");
  38. }
  39. void CTblaccountview::DoFieldExchange(CFieldExchange* pFX)
  40. {
  41. pFX->SetFieldType(CFieldExchange::outputColumn);
  42. // RFX_Text() 和 RFX_Int() 这类宏依赖的是
  43. // 成员变量的类型,而不是数据库字段的类型。
  44. // ODBC 尝试自动将列值转换为所请求的类型
  45. RFX_Text(pFX, _T("account"), m_account);
  46. RFX_Text(pFX, _T("name"), m_name);
  47. RFX_Text(pFX, _T("psw"), m_psw);
  48. RFX_Text(pFX, _T("rights"), m_rights);
  49. RFX_Text(pFX, _T("rate1"), m_rate1);
  50. RFX_Text(pFX, _T("rate2"), m_rate2);
  51. RFX_Text(pFX, _T("base"), m_base);
  52. RFX_Text(pFX, _T("bz"), m_bz);
  53. RFX_Text(pFX, _T("rights2"), m_rights2);
  54. RFX_Text(pFX, _T("discount"), m_discount);
  55. RFX_Text(pFX, _T("discount2"), m_discount2);
  56. RFX_Text(pFX, _T("staff_dimission"), m_staff_dimission);
  57. RFX_Text(pFX, _T("level"), m_level);
  58. RFX_Text(pFX, _T("staff_department"), m_staff_department);
  59. }
  60. /////////////////////////////////////////////////////////////////////////////
  61. // CTblaccountview 诊断
  62. #ifdef _DEBUG
  63. void CTblaccountview::AssertValid() const
  64. {
  65. CRecordset::AssertValid();
  66. }
  67. void CTblaccountview::Dump(CDumpContext& dc) const
  68. {
  69. CRecordset::Dump(dc);
  70. }
  71. #endif //_DEBUG
  72. void CTblaccountview::GetReturnValue(IN CArray<CStringArray, CStringArray>& AryValue, IN CDatabase* pDatabase, IN CString strFilter)
  73. {
  74. CRecordset tagSet(pDatabase);
  75. CString strTemp = _T("select count(*) as cot from [accountview]");
  76. if ( !strFilter.IsEmpty() )
  77. strTemp += _T(" where ") + strFilter;
  78. tagSet.Open(CRecordset::forwardOnly, strTemp);
  79. tagSet.GetFieldValue(_T("cot"), strTemp);
  80. tagSet.Close();
  81. // 2.查询指定条件记录;
  82. DWORD dwCount = atol(strTemp);
  83. DWORD dwOldSize = AryValue.GetSize();
  84. AryValue.SetSize(dwOldSize + dwCount, 1);
  85. DWORD dwIndex = dwOldSize == 0 ? 0 : dwOldSize - 1;
  86. CTblaccountview tagRst(pDatabase);
  87. if ( !strFilter.IsEmpty() )
  88. tagRst.m_strFilter = strFilter;
  89. tagRst.Open();
  90. while( !tagRst.IsEOF() )
  91. {
  92. AryValue.ElementAt(dwIndex).RemoveAll();
  93. AryValue.ElementAt(dwIndex).Add(tagRst.m_account); // 0.注释;
  94. AryValue.ElementAt(dwIndex).Add(tagRst.m_name); // 1.注释;
  95. AryValue.ElementAt(dwIndex).Add(tagRst.m_psw); // 2.注释;
  96. AryValue.ElementAt(dwIndex).Add(tagRst.m_rights); // 3.注释;
  97. AryValue.ElementAt(dwIndex).Add(tagRst.m_rate1); // 4.注释;
  98. AryValue.ElementAt(dwIndex).Add(tagRst.m_rate2); // 5.注释;
  99. AryValue.ElementAt(dwIndex).Add(tagRst.m_base); // 6.注释;
  100. AryValue.ElementAt(dwIndex).Add(tagRst.m_bz); // 7.注释;
  101. AryValue.ElementAt(dwIndex).Add(tagRst.m_rights2); // 8.注释;
  102. AryValue.ElementAt(dwIndex).Add(tagRst.m_discount); // 9.注释;
  103. AryValue.ElementAt(dwIndex).Add(tagRst.m_discount2); // 10.注释;
  104. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_dimission); // 11.注释;
  105. AryValue.ElementAt(dwIndex).Add(tagRst.m_level); // 12.注释;
  106. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_department); // 13.注释;
  107. dwIndex++;
  108. if ( AryValue.GetSize() <= dwIndex )
  109. break;
  110. tagRst.MoveNext();
  111. }
  112. AryValue.SetSize(dwIndex,1);
  113. tagRst.Close();
  114. }