ShowHistoryReg.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. // ShowHistoryReg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "LYFZIPManage.h"
  5. #include "ShowHistoryReg.h"
  6. #include "mysqldata.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // ShowHistoryReg dialog
  14. ShowHistoryReg::ShowHistoryReg(CWnd* pParent /*=NULL*/)
  15. : CDialog(ShowHistoryReg::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(ShowHistoryReg)
  18. // NOTE: the ClassWizard will add member initialization here
  19. //}}AFX_DATA_INIT
  20. }
  21. void ShowHistoryReg::DoDataExchange(CDataExchange* pDX)
  22. {
  23. CDialog::DoDataExchange(pDX);
  24. //{{AFX_DATA_MAP(ShowHistoryReg)
  25. DDX_Control(pDX, IDC_LIST2, m_List1);
  26. //}}AFX_DATA_MAP
  27. }
  28. BEGIN_MESSAGE_MAP(ShowHistoryReg, CDialog)
  29. //{{AFX_MSG_MAP(ShowHistoryReg)
  30. //}}AFX_MSG_MAP
  31. END_MESSAGE_MAP()
  32. /////////////////////////////////////////////////////////////////////////////
  33. // ShowHistoryReg message handlers
  34. BOOL ShowHistoryReg::OnInitDialog()
  35. {
  36. CDialog::OnInitDialog();
  37. // TODO: Add extra initialization here
  38. m_List1.SetHeadings("账号,60;冲值金额,80;短信数,60;价格,60;日期,90" );
  39. m_List1.LoadColumnInfo(_T("115"));
  40. CRecordset myset(&g_db);
  41. CString sql="select count(*) as cot from recharge where account='"+m_account+"'";
  42. myset.Open (CRecordset::forwardOnly, sql);
  43. myset.GetFieldValue ("cot", sql);
  44. myset.Close();
  45. m_List1array.SetSize(atol(sql) , 1 );
  46. RstReCharge rsSt;
  47. rsSt.m_strFilter ="account='"+m_account+"'";
  48. rsSt.Open();
  49. DWORD ii=0;
  50. float summoney=0;
  51. float sumcount=0;
  52. while(!rsSt.IsEOF())
  53. {
  54. m_List1array.ElementAt (ii).RemoveAll ();
  55. m_List1array.ElementAt (ii).Add(rsSt.m_account) ;
  56. m_List1array.ElementAt (ii).Add(rsSt.m_money) ;
  57. summoney+=atof(rsSt.m_money);
  58. sumcount+=atof(rsSt.m_count);
  59. m_List1array.ElementAt (ii).Add(rsSt.m_count) ;
  60. if(atof(rsSt.m_count))
  61. sql.Format ("%0.2f", atof(rsSt.m_money)/atof(rsSt.m_count));
  62. else
  63. sql="0";
  64. m_List1array.ElementAt (ii).Add(sql) ;
  65. m_List1array.ElementAt (ii).Add(rsSt.m_timestamp) ;
  66. ii++;
  67. rsSt.MoveNext();if(m_List1array.GetSize ()<=ii)break;
  68. }
  69. rsSt.Close();m_List1array.SetSize(ii , 1 );
  70. m_List1.m_arLabels.SetSize( m_List1array.GetSize ()+2, 1 );
  71. for(ii=0; ii<m_List1array.GetSize (); ii++)
  72. {
  73. m_List1.m_arLabels.ElementAt (ii).Copy (m_List1array.ElementAt (ii));
  74. }
  75. ii=m_List1array.GetSize ();
  76. m_List1.m_arLabels.ElementAt (ii).RemoveAll ();
  77. m_List1.m_arLabels.ElementAt (ii).Add ("");
  78. m_List1.m_arLabels.ElementAt (ii).Add ("");
  79. m_List1.m_arLabels.ElementAt (ii).Add ("");
  80. m_List1.m_arLabels.ElementAt (ii).Add ("");
  81. m_List1.m_arLabels.ElementAt (ii).Add ("");
  82. ii++;
  83. CString str;
  84. m_List1.m_arLabels.ElementAt (ii).RemoveAll ();
  85. m_List1.m_arLabels.ElementAt (ii).Add ("总计:");
  86. str.Format ("%0.1f", summoney);
  87. m_List1.m_arLabels.ElementAt (ii).Add (str);
  88. str.Format ("%0.0f", sumcount);
  89. m_List1.m_arLabels.ElementAt (ii).Add (str);
  90. if(sumcount)
  91. str.Format ("%0.4f", summoney/sumcount);
  92. else
  93. str="0";
  94. m_List1.m_arLabels.ElementAt (ii).Add (str);
  95. m_List1.m_arLabels.ElementAt (ii).Add ("");
  96. // float summoney=0;
  97. // float sumcount=0;
  98. m_List1.m_arLabels.SetSize(m_List1array.GetSize ()+2, 1);
  99. m_List1.m_LabelCount=m_List1array.GetSize ()+2;
  100. m_List1.SetItemCountEx (m_List1array.GetSize ()+2);
  101. return TRUE; // return TRUE unless you set the focus to a control
  102. // EXCEPTION: OCX Property Pages should return FALSE
  103. }