Tbllog.cpp 3.1 KB

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