1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef __SQL_STATEMENT_IMPL_HEADER__
- #define __SQL_STATEMENT_IMPL_HEADER__
- #pragma once
- enum SQLSTATEMENTKIND
- {
- KIND_INSERT = 1,
- KIND_UPDATE = 2
- };
- class CSQLStatementImpl
- {
- CSQLStatementImpl();
- protected:
- CString m_strSQL;
- CString m_strTableName;
- CString m_strFilter;
- int m_nStatementKind; // 1==Insert, 2==Update;
-
- int m_nCount;
- int m_nSzie;
- CStringArray m_saFields;
- CStringArray m_saValues;
- public:
- ~CSQLStatementImpl();
- inline static CSQLStatementImpl *GetInstancePtr()
- {
- static CSQLStatementImpl lInstance;
- return &lInstance;
- }
- inline void ReSetKind(LPCTSTR lpTableName,LPCTSTR lpFilter,const int &nStatementKind,const int &nSize)
- {
- m_nStatementKind = nStatementKind;
- m_strTableName = lpTableName;
- m_strFilter = lpFilter;
-
- m_nCount = 0;
- m_nSzie = nSize;
- // SetSize之后,必须调用RemoveAll,否则Add时元素位置是从m_nSize开始,而不是从0开始;
- m_saFields.SetSize(m_nSzie,256);
- m_saValues.SetSize(m_nSzie,256);
- m_saFields.RemoveAll();
- m_saValues.RemoveAll();
- }
- void AddElement(LPCTSTR lpField,LPCTSTR lpValue);
- void AddElement(LPCTSTR lpField,CONST INT &nValue);
- CString ReturnSQL();
- void ReturnSQL(CString &strSQL);
- };
- #endif
|