/********************************************************************/ /* */ /* CONNECTSOCKET.CPP */ /* */ /* Implementation of the Connect Socket. */ /* This class is a part of the CConnectThread which handles */ /* socket connections. Incomming data is processed in OnReceive */ /* */ /* Programmed by LYFZ van der Meer */ /* Based partially on and inspired by FileZilla Server. */ /* */ /* http://www.LYFZvandermeer.nl */ /* */ /* Last updated: 15 july 2002 */ /* */ /********************************************************************/ //在ConnectSocket.cpp文件中实现连接套接字的创建,该类是CConnectThread类的 //一部分,收到数据由函数OnReceive()完成处理。 movenext 4096 #include "stdafx.h" #include "DBServer.h" #include "theDBServer.h" #include "ConnectSocket.h" #include "ConnectThread.h" #include "DBServerDlg.h" #include "DataSocket.h" #include "mysqldata.h" #include "./include/netMain.h" #include "./include/protocolhdr.h" #include "./include/struct_def.h" #include "Lzari.h" #include "MyLock.h" #include "Shlwapi.h" #include "CalendarConvert.h" //#include "AddUserDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif extern CDBServerDlg *g_pMainWnd; extern CtheDBServer theServer; extern CtheDBServer *g_pWndServer; void CConnectSocket::GetDataFromCode2(BYTE &code, BYTE **szDataBuf, DWORD &nDataLen, DWORD &arraysize, CString filter) {//97---134 int nStep=0; try { DWORD ii=0; CArrayg_List1array; try { switch(code) { case 98://update data字段; { CRstUpdate rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); ii=0; if(!rsSt.IsEOF()) { nDataLen=rsSt.data.m_dwDataLength; g_ListData[code]=new BYTE[nDataLen]; void *pData=GlobalLock(rsSt.data.m_hData); memcpy(g_ListData[code], pData, nDataLen); *szDataBuf=g_ListData[code]; GlobalUnlock(rsSt.data.m_hData); } rsSt.Close(); return; } break; case 99://update data2字段; { CRstUpdate rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); ii=0; if(!rsSt.IsEOF()) { nDataLen = rsSt.data2.m_dwDataLength; g_ListData[code]=new BYTE[nDataLen]; void *pData=GlobalLock(rsSt.data2.m_hData); memcpy(g_ListData[code], pData, nDataLen); *szDataBuf=g_ListData[code]; GlobalUnlock(rsSt.data2.m_hData); } rsSt.Close(); return; } break; case 100://update data3字段; { CRstUpdate rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); ii=0; if(!rsSt.IsEOF()) { nDataLen=rsSt.data3.m_dwDataLength; g_ListData[code]=new BYTE[nDataLen]; void *pData=GlobalLock(rsSt.data3.m_hData); memcpy(g_ListData[code], pData, nDataLen); *szDataBuf=g_ListData[code]; GlobalUnlock(rsSt.data3.m_hData); } rsSt.Close(); return; } break; case 101://update data4字段; { CRstUpdate rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); ii=0; if(!rsSt.IsEOF()) { nDataLen=rsSt.data4.m_dwDataLength; g_ListData[code]=new BYTE[nDataLen]; void *pData=GlobalLock(rsSt.data4.m_hData); memcpy(g_ListData[code], pData, nDataLen); *szDataBuf=g_ListData[code]; GlobalUnlock(rsSt.data4.m_hData); } rsSt.Close(); return; } break; case 102://update data5字段; { CRstUpdate rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); ii=0; if(!rsSt.IsEOF()) { nDataLen=rsSt.data5.m_dwDataLength; g_ListData[code]=new BYTE[nDataLen]; void *pData=GlobalLock(rsSt.data5.m_hData); memcpy(g_ListData[code], pData, nDataLen); *szDataBuf=g_ListData[code]; GlobalUnlock(rsSt.data5.m_hData); } rsSt.Close(); return; } break; case 103://update data6字段; { CRstUpdate rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); ii=0; if(!rsSt.IsEOF()) { nDataLen=rsSt.data6.m_dwDataLength; g_ListData[code]=new BYTE[nDataLen]; void *pData=GlobalLock(rsSt.data6.m_hData); memcpy(g_ListData[code], pData, nDataLen); *szDataBuf=g_ListData[code]; GlobalUnlock(rsSt.data6.m_hData); } rsSt.Close(); return; } break; case 104://update data7字段; { CLEAR_START CRstUpdate rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); ii=0; if(!rsSt.IsEOF()) { nDataLen=rsSt.data7.m_dwDataLength; *szDataBuf=new BYTE[nDataLen]; void *pData=GlobalLock(rsSt.data7.m_hData); memcpy(*szDataBuf, pData, nDataLen); GlobalUnlock(rsSt.data7.m_hData); } rsSt.Close(); CLEAR_END return; } break; case 105://界面 { CODEREPLACE_START nDataLen=g_SkinLeng; *szDataBuf=g_pSkinData; CODEREPLACE_END return; } break; case 97:// { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from lonintimeset"; if(!filter.IsEmpty ()) sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstLoninTimeSet rsSt; rsSt.m_pDatabase=m_pConndb;if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.name) ; g_List1array.ElementAt (ii).Add(rsSt.time1) ; g_List1array.ElementAt (ii).Add(rsSt.time2) ; g_List1array.ElementAt (ii).Add(rsSt.time3) ; g_List1array.ElementAt (ii).Add(rsSt.time4) ; ii++; rsSt.MoveNext(); if(g_List1array.GetSize ()<=ii)break; } rsSt.Close();g_List1array.SetSize(ii , 1 ); } break; case 106:// { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from loninbanset"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstLoninBanSet rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.weekname) ; g_List1array.ElementAt (ii).Add(rsSt.name) ; g_List1array.ElementAt (ii).Add(rsSt.banname1) ; g_List1array.ElementAt (ii).Add(rsSt.banname2) ; g_List1array.ElementAt (ii).Add(rsSt.banname3) ; g_List1array.ElementAt (ii).Add(rsSt.banname4) ; g_List1array.ElementAt (ii).Add(rsSt.banname5) ; g_List1array.ElementAt (ii).Add(rsSt.banname6) ; g_List1array.ElementAt (ii).Add(rsSt.banname7) ; ii++; rsSt.MoveNext(); if(g_List1array.GetSize ()<=ii)break; } rsSt.Close();g_List1array.SetSize(ii , 1 ); } break; case 107:// { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from loninbanset"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstLoninBanSet rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.name) ; g_List1array.ElementAt (ii).Add(rsSt.banname1) ; g_List1array.ElementAt (ii).Add(rsSt.banname2) ; g_List1array.ElementAt (ii).Add(rsSt.banname3) ; g_List1array.ElementAt (ii).Add(rsSt.banname4) ; g_List1array.ElementAt (ii).Add(rsSt.banname5) ; g_List1array.ElementAt (ii).Add(rsSt.banname6) ; g_List1array.ElementAt (ii).Add(rsSt.banname7) ; g_List1array.ElementAt (ii).Add(rsSt.weekname) ; ii++; rsSt.MoveNext(); if(g_List1array.GetSize ()<=ii)break; } rsSt.Close();g_List1array.SetSize(ii , 1 ); { filter="dimission='在职'"; CArraym_List1array; CRecordset myset(m_pConndb); CString sql="select count(*) as cot from renyuan"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); m_List1array.SetSize(count , 1 ); CRstRenYuan rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { m_List1array.ElementAt (ii).RemoveAll (); m_List1array.ElementAt (ii).Add(rsSt.name) ; ii++; rsSt.MoveNext();if(m_List1array.GetSize ()<=ii)break; } rsSt.Close();m_List1array.SetSize(ii , 1 ); count=g_List1array.GetSize (); for(ii=0; ii=0; a--) { BOOL bFind=0; for(ii=0; iim_List1array; { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from dindan"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); m_List1array.SetSize(count , 1 ); CRstDindanForm rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { m_List1array.ElementAt (ii).RemoveAll (); m_List1array.ElementAt (ii).Add(rsSt.id) ; m_List1array.ElementAt (ii).Add(rsSt.name1) ; m_List1array.ElementAt (ii).Add(rsSt.name2) ; m_List1array.ElementAt (ii).Add(rsSt.phone1) ; m_List1array.ElementAt (ii).Add(rsSt.phone2) ; m_List1array.ElementAt (ii).Add(rsSt.pinyin1) ; m_List1array.ElementAt (ii).Add(rsSt.pinyin2) ; ii++; rsSt.MoveNext();if(m_List1array.GetSize ()<=ii)break; } rsSt.Close();m_List1array.SetSize(ii , 1 ); } CRecordset myset(m_pConndb); CString sql="select count(*) as cot from phonerecord"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstphonerecord rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; CString temp; int aa=-1; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); if(temp!=rsSt.id) { temp=rsSt.id; if(aa!=-1 && aam_List1array; { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from client2"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); m_List1array.SetSize(count , 1 ); RstClient2 rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { m_List1array.ElementAt (ii).RemoveAll (); m_List1array.ElementAt (ii).Add(rsSt.m_name) ; m_List1array.ElementAt (ii).Add(rsSt.m_sex) ; m_List1array.ElementAt (ii).Add(rsSt.m_phone) ; m_List1array.ElementAt (ii).Add(rsSt.m_pinyin) ; ii++; rsSt.MoveNext();if(m_List1array.GetSize ()<=ii)break; } rsSt.Close();m_List1array.SetSize(ii , 1 ); } CRecordset myset(m_pConndb); CString sql="select count(*) as cot from client2phonerecord"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstclient2phonerecord rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; CString temp=CTime::GetCurrentTime ().Format ("%Y%m%d%H%M%S"); int aa=-1; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); if(temp!=rsSt.phone) { temp=rsSt.phone; if(aa!=-1 && aam_List1array; { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from renyuan"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); m_List1array.SetSize(count , 1 ); CRstRenYuan rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { m_List1array.ElementAt (ii).RemoveAll (); m_List1array.ElementAt (ii).Add(rsSt.name) ; m_List1array.ElementAt (ii).Add(rsSt.phone) ; ii++; rsSt.MoveNext();if(m_List1array.GetSize ()<=ii)break; } rsSt.Close();m_List1array.SetSize(ii , 1 ); } CRecordset myset(m_pConndb); CString sql="select count(*) as cot from employeephonerecord"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstemployeephonerecord rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; CString temp;int aa=-1; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); if(temp!=rsSt.name) { temp=rsSt.name; if(aa!=-1 && aaSetQueryTimeout(120); CArraym_List1array; { // CString filter="kind<>'5' and name<>'入册' and name<>'入底'"; #ifdef CHILD_VERSION CString filter=" name<>'入册' and name<>'入底'"; #else CString filter=" kind<>'2' and name<>'入册' and name<>'入底'"; #endif CRecordset myset(m_pConndb); CString sql="select count(*) as cot from dindansp"; if(!filter.IsEmpty ()) sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); m_List1array.SetSize(count , 1 ); CRstDinDanSP2 rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ()) rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { m_List1array.ElementAt (ii).RemoveAll (); m_List1array.ElementAt (ii).Add(rsSt.id) ; m_List1array.ElementAt (ii).Add(rsSt.status1) ; ii++; rsSt.MoveNext(); if(m_List1array.GetSize ()<=ii)break; } rsSt.Close();m_List1array.SetSize(ii , 1 ); } CRecordset myset(m_pConndb); CString sql="select count(*) as cot from dindan";if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstTodayForm rsSt; rsSt.m_pDatabase=m_pConndb;if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.m_strSort="time5,datetime5";//,time4,time6,time5"; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.id) ; g_List1array.ElementAt (ii).Add(rsSt.name1) ; g_List1array.ElementAt (ii).Add(rsSt.name2) ; g_List1array.ElementAt (ii).Add(rsSt.phone1) ; g_List1array.ElementAt (ii).Add(rsSt.phone2) ; g_List1array.ElementAt (ii).Add(rsSt.time5) ; g_List1array.ElementAt (ii).Add(rsSt.datetime5) ; #ifndef CHILD_VERSION g_List1array.ElementAt (ii).Add(rsSt.time3) ; #endif g_List1array.ElementAt (ii).Add(rsSt.status3) ; CString sok="OK"; BOOL bFind=0; for(int a=0; a259) g_List1array.ElementAt (ii).Add(rsSt.content.Left (256)+"...") ; else g_List1array.ElementAt (ii).Add(rsSt.content) ; g_List1array.ElementAt (ii).Add(rsSt.timestamp) ; if(rsSt.receiver.GetLength ()>259) g_List1array.ElementAt (ii).Add(rsSt.receiver.Left (256)+"...") ; else g_List1array.ElementAt (ii).Add(rsSt.receiver) ; ii++; rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break; } rsSt.Close();g_List1array.SetSize(ii , 1 ); } break; case 125://dindan { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from insidemsg";if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstinsidemsg rsSt; rsSt.m_pDatabase=m_pConndb;if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.sender) ; if(rsSt.content.GetLength ()>259) g_List1array.ElementAt (ii).Add(rsSt.content.Left (256)+"...") ; else g_List1array.ElementAt (ii).Add(rsSt.content) ; g_List1array.ElementAt (ii).Add(rsSt.timestamp) ; if(rsSt.receiver.GetLength ()>259) g_List1array.ElementAt (ii).Add(rsSt.receiver.Left (256)+"...") ; else g_List1array.ElementAt (ii).Add(rsSt.receiver) ; ii++; rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break; } rsSt.Close();g_List1array.SetSize(ii , 1 ); } break; case 126://dindan { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from insidemsg";if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstinsidemsg rsSt; rsSt.m_pDatabase=m_pConndb;if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.sender) ; g_List1array.ElementAt (ii).Add(rsSt.content) ; g_List1array.ElementAt (ii).Add(rsSt.timestamp) ; g_List1array.ElementAt (ii).Add(rsSt.receiver) ; g_List1array.ElementAt (ii).Add(rsSt.receiver2) ; g_List1array.ElementAt (ii).Add(rsSt.file) ; ii++; rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break; } rsSt.Close();g_List1array.SetSize(ii , 1 ); } break; case 127://membercard2 { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from membercard2";if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); g_List1array.SetSize(count , 1 ); CRstmembercard2 rsSt; rsSt.m_pDatabase=m_pConndb;if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.memberno) ; g_List1array.ElementAt (ii).Add(rsSt.card2no) ; g_List1array.ElementAt (ii).Add(rsSt.date) ; ii++; rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break; } rsSt.Close();g_List1array.SetSize(ii , 1 ); } break; case 128://memberreg { int covertrate=100; CString spoint; { CRecordset myset(m_pConndb); CString sql="select * from [version]"; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("rate2", sql); myset.Close(); covertrate=atoi(sql); if(covertrate==0)covertrate=100; } CRecordset myset(m_pConndb); CString sql="select count(*) as cot from memberreg"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); g_List1array.SetSize(atol(sql) , 1 ); RstMemberReg2 rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.Open(); DWORD ii=0; if(covertrate!=100) { while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.m_memberno) ; g_List1array.ElementAt (ii).Add(rsSt.m_card2no) ; g_List1array.ElementAt (ii).Add(rsSt.m_dindanid) ; g_List1array.ElementAt (ii).Add(rsSt.m_taoxi) ; spoint.Format ("%d", atoi(rsSt.m_money)*covertrate/100); g_List1array.ElementAt (ii).Add(spoint) ; g_List1array.ElementAt (ii).Add(rsSt.m_date) ; ii++; rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break; } } else { while(!rsSt.IsEOF()) { g_List1array.ElementAt (ii).RemoveAll (); g_List1array.ElementAt (ii).Add(rsSt.m_memberno) ; g_List1array.ElementAt (ii).Add(rsSt.m_card2no) ; g_List1array.ElementAt (ii).Add(rsSt.m_dindanid) ; g_List1array.ElementAt (ii).Add(rsSt.m_taoxi) ; // sql.Format("%d", atol(rsSt.m_money)/100); g_List1array.ElementAt (ii).Add(rsSt.m_money) ; g_List1array.ElementAt (ii).Add(rsSt.m_date) ; ii++; rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break; } } rsSt.Close();g_List1array.SetSize(ii , 1 ); } break; case 129://memberreg { int covertrate=100; CString spoint; { CRecordset myset(m_pConndb); CString sql="select * from [version]"; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("rate2", sql); myset.Close(); covertrate=atoi(sql); if(covertrate==0)covertrate=100; } CArraym_List1array; CArraym_List2array; CArraym_List3array; CString strdate1,strdate2; strdate1.Format ("%s-%02d-%02d", filter, 1, 1); strdate2.Format ("%s-%02d-%02d", filter, 12, 31); { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from membermanage"; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); m_List1array.SetSize(atol(sql) , 1 ); RstMemberReg rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); DWORD ii=0; while(!rsSt.IsEOF()) { m_List1array.ElementAt (ii).RemoveAll (); m_List1array.ElementAt (ii).Add(rsSt.m_memberno) ; m_List1array.ElementAt (ii).Add(rsSt.m_name) ; m_List1array.ElementAt (ii).Add(rsSt.m_sex) ; m_List1array.ElementAt (ii).Add(rsSt.m_phone) ; m_List1array.ElementAt (ii).Add(rsSt.m_pinyin) ; ii++; rsSt.MoveNext();if(m_List1array.GetSize ()<=ii)break; } rsSt.Close();m_List1array.SetSize(ii , 1 ); } { filter.Format("[date]>='%s' and [date]<='%s'", strdate1, strdate2); CRecordset myset(m_pConndb); CString sql="select count(*) as cot from membercard2"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); m_List2array.SetSize(count , 1 ); CRstmembercard2 rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.m_strSort="date desc"; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { m_List2array.ElementAt (ii).RemoveAll (); m_List2array.ElementAt (ii).Add(rsSt.memberno) ; m_List2array.ElementAt (ii).Add(rsSt.card2no) ; m_List2array.ElementAt (ii).Add(rsSt.date) ; ii++; rsSt.MoveNext(); if(m_List2array.GetSize ()<=ii)break; } rsSt.Close();m_List2array.SetSize(ii , 1 ); } { filter.Format("[date2]>='%s' and [date2]<='%s' and [type]='转介绍' or [date]>='%s' and [date]<='%s' and [type]='转介绍'", strdate1, strdate2, strdate1, strdate2); CRecordset myset(m_pConndb); CString sql="select count(*) as cot from memberreg"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); m_List3array.SetSize(atol(sql) , 1 ); RstMemberReg2 rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.m_strSort="date desc"; rsSt.Open(); DWORD ii=0; if(covertrate!=100) { while(!rsSt.IsEOF()) { m_List3array.ElementAt (ii).RemoveAll (); m_List3array.ElementAt (ii).Add(rsSt.m_memberno) ; m_List3array.ElementAt (ii).Add(rsSt.m_card2no) ; m_List3array.ElementAt (ii).Add(rsSt.m_date2) ; m_List3array.ElementAt (ii).Add(rsSt.m_dindanid) ; m_List3array.ElementAt (ii).Add(rsSt.m_taoxi) ; spoint.Format ("%d", atoi(rsSt.m_money)*covertrate/100); m_List3array.ElementAt (ii).Add(spoint) ; m_List3array.ElementAt (ii).Add(rsSt.m_date) ; ii++; rsSt.MoveNext();if(m_List3array.GetSize ()<=ii)break; } } else { while(!rsSt.IsEOF()) { m_List3array.ElementAt (ii).RemoveAll (); m_List3array.ElementAt (ii).Add(rsSt.m_memberno) ; m_List3array.ElementAt (ii).Add(rsSt.m_card2no) ; m_List3array.ElementAt (ii).Add(rsSt.m_date2) ; m_List3array.ElementAt (ii).Add(rsSt.m_dindanid) ; m_List3array.ElementAt (ii).Add(rsSt.m_taoxi) ; m_List3array.ElementAt (ii).Add(rsSt.m_money) ; m_List3array.ElementAt (ii).Add(rsSt.m_date) ; ii++; rsSt.MoveNext(); if(m_List3array.GetSize ()<=ii)break; } } rsSt.Close(); m_List3array.SetSize(ii , 1 ); } DWORD size=0; CString memberno; for(ii=0; iim_List1array; CArraym_List2array; CArraym_List3array; CString strdate1,strdate2; strdate1.Format ("%s-%02d-%02d", filter, 1, 1); strdate2.Format ("%s-%02d-%02d", filter, 12, 31); { CRecordset myset(m_pConndb); CString sql="select count(*) as cot from membermanageblue"; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); m_List1array.SetSize(atol(sql) , 1 ); RstMemberRegBlue rsSt; rsSt.m_pDatabase=m_pConndb; rsSt.Open(); DWORD ii=0; while(!rsSt.IsEOF()) { m_List1array.ElementAt (ii).RemoveAll (); m_List1array.ElementAt (ii).Add(rsSt.m_memberno) ; m_List1array.ElementAt (ii).Add(rsSt.m_name) ; m_List1array.ElementAt (ii).Add(rsSt.m_sex) ; m_List1array.ElementAt (ii).Add(rsSt.m_phone) ; m_List1array.ElementAt (ii).Add(rsSt.m_pinyin) ; ii++; rsSt.MoveNext();if(m_List1array.GetSize ()<=ii)break; } rsSt.Close();m_List1array.SetSize(ii , 1 ); } { filter.Format("[date]>='%s' and [date]<='%s'", strdate1, strdate2); CRecordset myset(m_pConndb); CString sql="select count(*) as cot from membercard2blue"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); int count=atol(sql); m_List2array.SetSize(count , 1 ); CRstmembercard2blue rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.m_strSort="date desc"; rsSt.Open(); ii=0; while(!rsSt.IsEOF()) { m_List2array.ElementAt (ii).RemoveAll (); m_List2array.ElementAt (ii).Add(rsSt.memberno) ; m_List2array.ElementAt (ii).Add(rsSt.card2no) ; m_List2array.ElementAt (ii).Add(rsSt.date) ; ii++; rsSt.MoveNext();if(m_List2array.GetSize ()<=ii)break; } rsSt.Close();m_List2array.SetSize(ii , 1 ); } { filter.Format("[date2]>='%s' and [date2]<='%s' and [type]='转介绍' or [date]>='%s' and [date]<='%s' and [type]='转介绍'", strdate1, strdate2, strdate1, strdate2); CRecordset myset(m_pConndb); CString sql="select count(*) as cot from memberregblue"; if(!filter.IsEmpty ())sql+=" where "+filter; myset.Open (CRecordset::forwardOnly, sql); myset.GetFieldValue ("cot", sql); myset.Close(); m_List3array.SetSize(atol(sql) , 1 ); RstMemberReg2blue rsSt; rsSt.m_pDatabase=m_pConndb; if(!filter.IsEmpty ())rsSt.m_strFilter =filter; rsSt.m_strSort="date desc"; rsSt.Open(); DWORD ii=0; while(!rsSt.IsEOF()) { m_List3array.ElementAt (ii).RemoveAll (); m_List3array.ElementAt (ii).Add(rsSt.m_memberno) ; m_List3array.ElementAt (ii).Add(rsSt.m_card2no) ; m_List3array.ElementAt (ii).Add(rsSt.m_date2) ; m_List3array.ElementAt (ii).Add(rsSt.m_dindanid) ; m_List3array.ElementAt (ii).Add(rsSt.m_taoxi) ; m_List3array.ElementAt (ii).Add(rsSt.m_money) ; m_List3array.ElementAt (ii).Add(rsSt.m_date) ; ii++; rsSt.MoveNext();if(m_List3array.GetSize ()<=ii)break; } rsSt.Close();m_List3array.SetSize(ii , 1 ); } DWORD size=0; CString memberno; for(ii=0; iiGetErrorMessage(szError, 1024); WriteTextLog(CString(szError)); #ifdef _DEBUG e->ReportError(); #endif e->Delete(); CString ss; ss.Format("#出错在函数getdata2中-code:%d/%d ip:%s", code, nStep, ((CConnectThread *)AfxGetThread())->m_strRemoteHost); WriteTextLog(ss); return; } #else catch(CDBException * e) { CString ss; ss.Format ("出错在函数getdata2中-code:%d/%d ip:%s", code, nStep, ((CConnectThread *)AfxGetThread())->m_strRemoteHost); WriteTextLog(ss); WriteTextLog(e->m_strError); #ifdef _DEBUG e->ReportError(); #endif e->Delete(); return; } #endif nStep=1; CMemFile memfile; CArchive ar(&memfile, CArchive::store); for( ii=0; iim_strRemoteHost); WriteTextLog(ss); TCHAR szError[1024] = { 0 }; e->GetErrorMessage(szError, 1024); WriteTextLog(CString(szError)); e->Delete(); } #else catch(...) { CString ss; ss.Format ("出错在函数getdata2中-code:%d/%d ip:%s", code, nStep, ((CConnectThread *)AfxGetThread())->m_strRemoteHost); WriteTextLog(ss); } #endif } //107 //salarycheck1 //dwToUserID==22 //dwToUserID==6 //washcount //select max(id) //ptChatMessage->bsql //在函数trans5中 ////select refresh balance setcheck23