/********************************************************************/
/*																	*/
/*  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;
		CArray<CStringArray, CStringArray>g_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='��ְ'";
						CArray<CStringArray, CStringArray>m_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<m_List1array.GetSize (); ii++)
						{
							BOOL bFind=0;
							for(int a=0; a<g_List1array.GetSize (); a++)
							{
								if(m_List1array.ElementAt (ii).ElementAt (0)==g_List1array.ElementAt (a).ElementAt (0))
								{
									bFind=1;
									break;
								}
							}
							if(bFind==0)
							{
								g_List1array.SetSize(count+1);
								g_List1array.ElementAt (count).RemoveAll ();
								g_List1array.ElementAt (count).Add (m_List1array.ElementAt (ii).ElementAt (0));
								g_List1array.ElementAt (count).Add ("");
								g_List1array.ElementAt (count).Add ("");
								g_List1array.ElementAt (count).Add ("");
								g_List1array.ElementAt (count).Add ("");
								g_List1array.ElementAt (count).Add ("");
								g_List1array.ElementAt (count).Add ("");
								g_List1array.ElementAt (count).Add ("");
								g_List1array.ElementAt (count).Add ("");
								count++;
							}
						}
						///////////////////////ɾ����ְԱ��
						for(int a=g_List1array.GetSize ()-1; a>=0; a--)
						{
							BOOL bFind=0;
							for(ii=0; ii<m_List1array.GetSize (); ii++)
							{
								if(m_List1array.ElementAt (ii).ElementAt (0)==g_List1array.ElementAt (a).ElementAt (0))
								{
									bFind=1;
									break;
								}
							}
							if(bFind==0)
								g_List1array.RemoveAt(a);
						}
					}
				}
				break;
			case 108://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from lonindata";
					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 );
					CRstLoninData 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.no) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 109://
				{
					CArray<CStringArray, CStringArray>m_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 && aa<m_List1array.GetSize ())
								m_List1array.RemoveAt(aa);
							BOOL bFind=0;
							for( aa=0; aa<m_List1array.GetSize (); aa++)
							{
								if(temp==m_List1array.ElementAt (aa).ElementAt (0))
								{
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (0)) ;
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (1)) ;
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (2)) ;
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (3)) ;
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (4)) ;
									bFind=1;
									break;
								}
							}
							if(bFind==0)
							{
								temp=CTime::GetCurrentTime ().Format ("%Y%m%d%H%M%S");
								rsSt.MoveNext();
								continue;
							}
							g_List1array.ElementAt (ii).Add(rsSt.phoneno) ;
							g_List1array.ElementAt (ii).Add(rsSt.datetime ) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (5)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (6)) ;

						}
						else
						{
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (0)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (1)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (2)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (3)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (4)) ;
							g_List1array.ElementAt (ii).Add(rsSt.phoneno) ;
							g_List1array.ElementAt (ii).Add(rsSt.datetime ) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (5)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (6)) ;
						}
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
					SortArray(&g_List1array, 6);
				}
				break;
			case 110://
				{
					CArray<CStringArray, CStringArray>m_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 && aa<m_List1array.GetSize ())
								m_List1array.RemoveAt(aa);
							BOOL bFind=0;
							for( aa=0; aa<m_List1array.GetSize (); aa++)
							{
								if(temp==m_List1array.ElementAt (aa).ElementAt (2))
								{
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (0)) ;
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (1)) ;
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (2)) ;
									bFind=1;
									break;
								}
							}
							if(bFind==0)
							{
								temp=CTime::GetCurrentTime ().Format ("%Y%m%d%H%M%S");
								rsSt.MoveNext();
								continue;
							}
							g_List1array.ElementAt (ii).Add(rsSt.datetime ) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (3)) ;
						}
						else
						{
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (0)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (1)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (2)) ;
							g_List1array.ElementAt (ii).Add(rsSt.datetime ) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (3)) ;

						}

						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
					SortArray(&g_List1array, 3);
				}
				break;
			case 111://
				{
					CArray<CStringArray, CStringArray>m_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 && aa<m_List1array.GetSize ())
								m_List1array.RemoveAt(aa);
							BOOL bFind=0;
							for( aa=0; aa<m_List1array.GetSize (); aa++)
							{
								if(temp==m_List1array.ElementAt (aa).ElementAt (0))
								{
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (0)) ;
									g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (1)) ;
									bFind=1;
									break;
								}
							}
							if(bFind==0)
							{
								temp=CTime::GetCurrentTime ().Format ("%Y%m%d%H%M%S");
								rsSt.MoveNext();
								continue;
							}
							g_List1array.ElementAt (ii).Add(rsSt.datetime ) ;
						}
						else
						{
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (0)) ;
							g_List1array.ElementAt (ii).Add(m_List1array.ElementAt (aa).ElementAt (1)) ;
							g_List1array.ElementAt (ii).Add(rsSt.datetime ) ;
						}

						ii++;
						rsSt.MoveNext();
						if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
					SortArray(&g_List1array, 2);
				}
				break;
			case 112://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from unknownphonerecord";
					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 );
					CRstunknownphonerecord 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.phone) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 113://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from phonerecordout";
					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 );
					CRstphonerecordout 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.phoneno) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 114://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from client2phonerecordout";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 );
					CRstclient2phonerecordout 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.phoneno) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 115://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from employeephonerecordout";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 );
					CRstemployeephonerecordout 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.phoneno) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 116://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from unknownphonerecordout";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 );
					CRstunknownphonerecordout 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.phoneno) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 117://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from misscallrecord";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 );
					CRstmisscallrecord 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.phone) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime) ;
						g_List1array.ElementAt (ii).Add(rsSt.type) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 118://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from sendregcard";
					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 );
					CRstsendregcard 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.timestamp) ;
						g_List1array.ElementAt (ii).Add(rsSt.phones) ;
						ii++;
						rsSt.MoveNext();
						if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();
					g_List1array.SetSize(ii , 1 );
				}
				break;
			case 119://
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from [msgview]";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 );
					CRstmsgview rsSt;	rsSt.m_pDatabase=m_pConndb;if(!filter.IsEmpty ())rsSt.m_strFilter =filter;
					rsSt.Open();
					ii=0;
					CString name;
					while(!rsSt.IsEOF())
					{
						g_List1array.ElementAt (ii).RemoveAll ();
						name=rsSt.name1+","+rsSt.name2;name.TrimLeft (",");
						g_List1array.ElementAt (ii).Add(name) ;
						g_List1array.ElementAt (ii).Add(rsSt.phones ) ;
						g_List1array.ElementAt (ii).Add(rsSt.content ) ;
						g_List1array.ElementAt (ii).Add(rsSt.timestamp ) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 120://dindan
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from takeview";
					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 );
					CRsttakeview rsSt;	
					rsSt.m_pDatabase=m_pConndb;
					if(!filter.IsEmpty ())rsSt.m_strFilter =filter;
					//rsSt.m_strSort="bookingdate";// Jeff add;
					rsSt.Open();
					ii=0;
					CString m_money1;
					CString m_money2;
					CString m_money3;
					while(!rsSt.IsEOF())
					{
						g_List1array.ElementAt (ii).RemoveAll ();
						g_List1array.ElementAt (ii).Add(rsSt.id) ;				// 1.������
						g_List1array.ElementAt (ii).Add(rsSt.name1) ;			// 2.
						g_List1array.ElementAt (ii).Add(rsSt.name2) ;			// 3.
						g_List1array.ElementAt (ii).Add(rsSt.phone1) ;			// 4.
						g_List1array.ElementAt (ii).Add(rsSt.phone2) ;			// 5.

						g_List1array.ElementAt (ii).Add(rsSt.time5) ;			// 6.ȡ������;
#ifndef CHILD_VERSION
						g_List1array.ElementAt (ii).Add(rsSt.time3) ;			// ��������;
#endif
						///////////////////////////////////////////////////////////
						g_List1array.ElementAt (ii).Add(rsSt.name) ;			// 7.����;
#ifdef ENTERPRISE_VERSION
						g_List1array.ElementAt (ii).Add(rsSt.branch) ;
#endif
						g_List1array.ElementAt (ii).Add(rsSt.status) ;			// 8.����״̬
						g_List1array.ElementAt (ii).Add(rsSt.bookingdate) ;		// 9.��������
						g_List1array.ElementAt (ii).Add(rsSt.time) ;			// 10.����ʱ��

						m_money1.Format ("%f", atof(rsSt.taoxijiage)+atof(rsSt.m_payed4));
						m_money2.Format ("%f", atof(rsSt.m_payed5)+atof(rsSt.m_money1));
						m_money3.Format ("%f", atof(m_money1)-atof(m_money2));
						ConvertToPrice(m_money3);
						g_List1array.ElementAt (ii).Add(m_money3) ;				// 11.Ƿ��;
						g_List1array.ElementAt (ii).Add(rsSt.clerk) ;			// 12.¼��;
						g_List1array.ElementAt (ii).Add(rsSt.waiter1) ;			// 13.��Ӱʦ
						g_List1array.ElementAt (ii).Add(rsSt.waiter12) ;		// 14.��Ӱ����
						g_List1array.ElementAt (ii).Add(rsSt.waiter2) ;			// 15.����ʦ
						g_List1array.ElementAt (ii).Add(rsSt.waiter22) ;		// 16.��������
						g_List1array.ElementAt (ii).Add(rsSt.dress) ;			// 17.��װ
						g_List1array.ElementAt (ii).Add(rsSt.bz) ;				// 18.��ע
						///////////////////////////////////////////////////////////
						g_List1array.ElementAt (ii).Add(rsSt.ren) ;				// 19.�ӵ���;
						g_List1array.ElementAt (ii).Add(rsSt.taoxiname) ;		// 20.��ϵ����;
						g_List1array.ElementAt (ii).Add(rsSt.taoxijiage) ;		// 21.��ϵ�۸�;
						g_List1array.ElementAt (ii).Add(rsSt.inputtime) ;		// 22.¼��ʱ��;

						g_List1array.ElementAt (ii).Add(rsSt.pinyin1) ;			// 23.
						g_List1array.ElementAt (ii).Add(rsSt.pinyin2) ;			// 24.
						g_List1array.ElementAt (ii).Add(rsSt.birthday1) ;		// 25.
						g_List1array.ElementAt (ii).Add(rsSt.check1) ;			// 26.�Ƿ�ũ������;
						g_List1array.ElementAt (ii).Add(rsSt.sex) ;				// 27.
						/////////
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 121://dindan
				{
					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="time4,datetime4";//,time4,time6,time5";
					rsSt.Open();
					ii=0;
					while(!rsSt.IsEOF())
					{
						g_List1array.ElementAt (ii).RemoveAll ();
						g_List1array.ElementAt (ii).Add(rsSt.id) ;			// 1.������
						g_List1array.ElementAt (ii).Add(rsSt.name1) ;		// 2.
						g_List1array.ElementAt (ii).Add(rsSt.name2) ;		// 3.
						g_List1array.ElementAt (ii).Add(rsSt.phone1) ;		// 4.
						g_List1array.ElementAt (ii).Add(rsSt.phone2) ;		// 5.
						g_List1array.ElementAt (ii).Add(rsSt.time4) ;		// 6.ѡƬ����
						g_List1array.ElementAt (ii).Add(rsSt.datetime4) ;	// 7.ѡƬʱ��

#if 1//Jeff add:����#ifndef CHILD_VERSIONǰ�棬ʹ�ͻ��˱ܿ����Դ���;
						g_List1array.ElementAt(ii).Add(rsSt.xplrr);		// ѡƬ¼��;
						g_List1array.ElementAt(ii).Add(rsSt.xplrtime);	// ѡƬ¼��ʱ��;
#endif

#ifndef CHILD_VERSION
						g_List1array.ElementAt (ii).Add(rsSt.time3) ;
#endif
						g_List1array.ElementAt (ii).Add(rsSt.status2) ;		// 8.ѡƬ״̬;
						g_List1array.ElementAt (ii).Add(rsSt.waiter3) ;		// 9.ѡƬ��;
						g_List1array.ElementAt (ii).Add(rsSt.ren) ;			// 10.�ӵ���;
						g_List1array.ElementAt (ii).Add(rsSt.taoxiname) ;	// 11.��ϵ����;
						g_List1array.ElementAt (ii).Add(rsSt.taoxijiage) ;	// 12.��ϵ�۸�
						g_List1array.ElementAt (ii).Add(rsSt.status) ;		
						g_List1array.ElementAt (ii).Add(rsSt.status4) ;

						g_List1array.ElementAt (ii).Add(rsSt.pinyin1) ;
						g_List1array.ElementAt (ii).Add(rsSt.pinyin2) ;

						ii++;
						rsSt.MoveNext();
						if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();
					g_List1array.SetSize(ii , 1 );
				}
				break;
			case 122://dindan
				{
					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="time6,datetime6";//,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.time6) ;
						g_List1array.ElementAt (ii).Add(rsSt.datetime6) ;
#ifndef CHILD_VERSION
						g_List1array.ElementAt (ii).Add(rsSt.time3) ;
#endif
						g_List1array.ElementAt (ii).Add(rsSt.status8) ;
						g_List1array.ElementAt (ii).Add(rsSt.status5) ;
						g_List1array.ElementAt (ii).Add(rsSt.waiter8) ;
						g_List1array.ElementAt (ii).Add(rsSt.ren) ;
						g_List1array.ElementAt (ii).Add(rsSt.taoxiname) ;
						g_List1array.ElementAt (ii).Add(rsSt.taoxijiage) ;
						g_List1array.ElementAt (ii).Add(rsSt.pinyin1) ;
						g_List1array.ElementAt (ii).Add(rsSt.pinyin2) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 123://dindan
				{
					CArray<CStringArray, CStringArray>m_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; a<m_List1array.GetSize (); a++)
						{
							if(rsSt.id==m_List1array.ElementAt (a).ElementAt(0))
							{
								if(m_List1array.ElementAt (a).ElementAt(1)!="OK")
								{
									bFind=0;
									break;
								}
								bFind=1;
							}
							else if(bFind)
								break;
						}
						if(bFind==0)
							g_List1array.ElementAt (ii).Add("��") ;
						else
							g_List1array.ElementAt (ii).Add(sok) ;
						g_List1array.ElementAt (ii).Add(rsSt.waiter9) ;	
						g_List1array.ElementAt (ii).Add(rsSt.ren) ;
						g_List1array.ElementAt (ii).Add(rsSt.taoxiname) ;
						g_List1array.ElementAt (ii).Add(rsSt.taoxijiage) ;
						g_List1array.ElementAt (ii).Add(rsSt.pinyin1) ;
						g_List1array.ElementAt (ii).Add(rsSt.pinyin2) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			case 124://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 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;
					}
					CArray<CStringArray, CStringArray>m_List1array;
					CArray<CStringArray, CStringArray>m_List2array;
					CArray<CStringArray, CStringArray>m_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; ii<m_List3array.GetSize(); ii++)
					{
						memberno=m_List3array.ElementAt(ii).ElementAt(0);
						BOOL bFind=0;

						int j = 0;
						for(/*int*/ j=0; j<m_List1array.GetSize(); j++)
						{
							if(memberno==m_List1array.ElementAt(j).ElementAt(0))
							{
								bFind=1;
								break;
							}
						}
						if(bFind)
						{	
							size++;
							g_List1array.SetSize(size , 1 );
							size--;
							g_List1array.ElementAt (size).RemoveAll ();
							g_List1array.ElementAt (size).Add(memberno);
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(2));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(3));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(2));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(3));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(4));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(5));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(6));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(4));
							size++;
						}
					}
					for(ii=0; ii<m_List2array.GetSize(); ii++)
					{
						memberno=m_List2array.ElementAt(ii).ElementAt(0);
						BOOL bFind=0;

						int j = 0;
						for(/*int*/ j=0; j<m_List1array.GetSize(); j++)
						{
							if(memberno==m_List1array.ElementAt(j).ElementAt(0))
							{
								bFind=1;
								break;
							}
						}
						if(bFind)
						{	
							size++;
							g_List1array.SetSize(size , 1 );
							size--;
							g_List1array.ElementAt (size).RemoveAll ();
							g_List1array.ElementAt (size).Add(memberno);
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(2));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(3));
							g_List1array.ElementAt (size).Add(m_List2array.ElementAt(ii).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List2array.ElementAt(ii).ElementAt(2));
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(4));
							size++;
						}
					}
				}
				break;
			case 130://membermanageblue
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from membermanageblue";
					if(!filter.IsEmpty ())sql+=" where "+filter;
					myset.Open (CRecordset::forwardOnly, sql);
					myset.GetFieldValue ("cot", sql);
					myset.Close();
					g_List1array.SetSize(atol(sql) , 1 );
					RstMemberRegBlue rsSt;	rsSt.m_pDatabase=m_pConndb;
					if(!filter.IsEmpty ())rsSt.m_strFilter =filter;
					rsSt.Open();
					DWORD ii=0;
					while(!rsSt.IsEOF())
					{
						g_List1array.ElementAt (ii).RemoveAll ();
						g_List1array.ElementAt (ii).Add(rsSt.m_id) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_memberno) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_name) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_sex) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_phone) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_qq) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_addr) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_occupation) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_birthday) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_jiage) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_money) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_money2) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_money3) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_date) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_pinyin) ;
						ii++;
						rsSt.MoveNext();
						if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();
					g_List1array.SetSize(ii , 1 );
				}
				break;
			case 131://membercard2blue
				{
					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);
					g_List1array.SetSize(count , 1 );
					CRstmembercard2blue 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 132://memberregblue
				{
					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();
					g_List1array.SetSize(atol(sql) , 1 );
					RstMemberReg2blue rsSt;	rsSt.m_pDatabase=m_pConndb;
					if(!filter.IsEmpty ())rsSt.m_strFilter =filter;
					rsSt.Open();
					DWORD ii=0;
					while(!rsSt.IsEOF())
					{
						g_List1array.ElementAt (ii).RemoveAll ();
						g_List1array.ElementAt (ii).Add(rsSt.m_memberno) ;
						g_List1array.ElementAt (ii).Add(rsSt.m_dindanid) ;
						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 133://memberreg
				{
					CArray<CStringArray, CStringArray>m_List1array;
					CArray<CStringArray, CStringArray>m_List2array;
					CArray<CStringArray, CStringArray>m_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; ii<m_List3array.GetSize(); ii++)
					{
						memberno=m_List3array.ElementAt(ii).ElementAt(0);
						BOOL bFind=0;

						int j = 0;
						for(/*int*/ j=0; j<m_List1array.GetSize(); j++)
						{
							if(memberno==m_List1array.ElementAt(j).ElementAt(0))
							{
								bFind=1;
								break;
							}
						}
						if(bFind)
						{	
							size++;
							g_List1array.SetSize(size , 1 );
							size--;
							g_List1array.ElementAt (size).RemoveAll ();
							g_List1array.ElementAt (size).Add(memberno);
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(2));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(3));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(2));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(3));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(4));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(5));
							g_List1array.ElementAt (size).Add(m_List3array.ElementAt(ii).ElementAt(6));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(4));
							size++;
						}
					}
					for(ii=0; ii<m_List2array.GetSize(); ii++)
					{
						memberno=m_List2array.ElementAt(ii).ElementAt(0);
						BOOL bFind=0;

						int j  = 0;
						for(/*int*/ j=0; j<m_List1array.GetSize(); j++)
						{
							if(memberno==m_List1array.ElementAt(j).ElementAt(0))
							{
								bFind=1;
								break;
							}
						}
						if(bFind)
						{	
							size++;
							g_List1array.SetSize(size , 1 );
							size--;
							g_List1array.ElementAt (size).RemoveAll ();
							g_List1array.ElementAt (size).Add(memberno);
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(2));
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(3));
							g_List1array.ElementAt (size).Add(m_List2array.ElementAt(ii).ElementAt(1));
							g_List1array.ElementAt (size).Add(m_List2array.ElementAt(ii).ElementAt(2));
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add("");
							g_List1array.ElementAt (size).Add(m_List1array.ElementAt(j).ElementAt(4));
							size++;
						}
					}
				}
				break;
			case 134://msgtemp
				{
					CRecordset myset(m_pConndb);
					CString	sql="select count(*) as cot from msgtemp";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 );
					CRstmsgtemp 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.title) ;
						g_List1array.ElementAt (ii).Add(rsSt.content) ;
						ii++;
						rsSt.MoveNext();if(g_List1array.GetSize ()<=ii)break;
					}
					rsSt.Close();g_List1array.SetSize(ii , 1 );
				}
				break;
			}
		}
#if JEFF_TEST_ON
		catch (CException* e)
		{
			TCHAR szError[1024] = { 0 };
			e->GetErrorMessage(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; ii<g_List1array.GetSize (); ii++)
		{
			g_List1array.ElementAt (ii).Serialize (ar);
		}
		ar.Close();
		nStep=2;

		int leng=memfile.GetLength ();
		BOOL bZip=0;
		BOOL bOK=0;
		int lengtemp=leng;
		while(lengtemp)
		{
			if(lengtemp%2==0)
			{
				lengtemp/=2;
				if(lengtemp==1)
				{
					bOK=1;
					break;
				}
			}
			else
				break;
		}

		if(leng<10240 || bOK)
		{
			g_ListData[code]=memfile.Detach();
			nDataLen =g_ListLeng[code] = leng;
			*szDataBuf=g_ListData[code];
			arraysize=g_ListSize[code]=g_List1array.GetSize ();
		}
		else
		{
			bZip=1;
			BYTE *pData = memfile.Detach();
			const BYTE *lpszOut = NULL;
			int nOutSize = 0;
			LZARI Lzari;
			Lzari.Compress(pData,leng,lpszOut,nOutSize);
			delete []pData;
			g_ListData[code] = new BYTE[nOutSize];
			memcpy(g_ListData[code],lpszOut,nOutSize);	Lzari.Release();
			nDataLen =g_ListLeng[code] = nOutSize;
			*szDataBuf=g_ListData[code];
			arraysize=g_ListSize[code]=g_List1array.GetSize ();
		}
		code=bZip;
		nStep=3;
	}
#if JEFF_TEST_ON
	catch (CException *e)
	{
		CString ss;
		ss.Format("�����ں���getdata2��-code:%d/%d ip:%s", code, nStep, ((CConnectThread *)AfxGetThread())->m_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