123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #include "StdAfx.h"
- #include "SQLStatementImpl.h"
- CSQLStatementImpl::CSQLStatementImpl()
- {
- m_nCount = 0;
- m_nSzie = 0;
- m_nStatementKind = 0;
- }
- CSQLStatementImpl::~CSQLStatementImpl( )
- {
- }
- void CSQLStatementImpl::AddElement(LPCTSTR lpField,LPCTSTR lpValue)
- {
- if ( m_nSzie == 0)
- {
- AfxMessageBox(_T("字段数量未设置"));
- return;
- }
- m_nCount++;
- m_saFields.Add(lpField);
- m_saValues.Add(lpValue);
- }
- void CSQLStatementImpl::AddElement(LPCTSTR lpField,CONST INT &nValue)
- {
- if ( m_nSzie == 0)
- {
- AfxMessageBox(_T("字段数量未设置"));
- return;
- }
- m_nCount++;
- m_saFields.Add(lpField);
- TCHAR szValue[20] = _T("");
- _itot_s(nValue,szValue,10);
- m_saValues.Add(szValue);
- }
- CString CSQLStatementImpl::ReturnSQL()
- {
- // 释放CArray数组中预留的内存;
- m_saFields.FreeExtra();
- m_saValues.FreeExtra();
- int i = 0;
- if (m_nStatementKind == KIND_INSERT)
- {
- m_strSQL.Format(_T("insert into %s ("),m_strTableName);
- for ( i = 0; i < m_nCount-1; i++)
- {
- m_strSQL += m_saFields.ElementAt(i) + _T(",");
- }
- m_strSQL += m_saFields.ElementAt(m_nCount-1) + _T(") values ('");
- for ( i = 0; i < m_nCount-1; i++)
- {
- m_strSQL += m_saValues.ElementAt(i) + _T("',");
- }
- m_strSQL += m_saValues.ElementAt(m_nCount-1) + _T(") ");
- m_strSQL += m_strFilter;
- }
- else
- {
- m_strSQL.Format(_T("update %s set "),m_strTableName);
- for ( i = 0; i < m_nCount-1; i++)
- {
- m_strSQL += m_saFields.ElementAt(i) + _T("='") + m_saValues.ElementAt(i)+ _T("',");
- }
- m_strSQL += m_saFields.ElementAt(m_nCount-1) + _T("='") + m_saValues.ElementAt(m_nCount-1)+ _T("' ");
- m_strSQL += m_strFilter;
- }
- return m_strSQL;
- }
- void CSQLStatementImpl::ReturnSQL(CString &strSQL)
- {
- // 释放CArray数组中预留的内存;
- m_saFields.FreeExtra();
- m_saValues.FreeExtra();
- int i = 0;
- if (m_nStatementKind == KIND_INSERT)
- {
- strSQL.Format(_T("insert into %s ("), m_strTableName);
- for (i = 0; i < m_nCount - 1; i++)
- {
- strSQL += m_saFields.ElementAt(i) + _T(",");
- }
- strSQL += m_saFields.ElementAt(m_nCount - 1) + _T(") values ('");
- for (i = 0; i < m_nCount - 1; i++)
- {
- strSQL += m_saValues.ElementAt(i) + _T("',");
- }
- strSQL += m_saValues.ElementAt(m_nCount - 1) + _T(") ");
- strSQL += m_strFilter;
- }
- else
- {
- strSQL.Format(_T("update %s set "), m_strTableName);
- for (i = 0; i < m_nCount - 1; i++)
- {
- strSQL += m_saFields.ElementAt(i) + _T("='") + m_saValues.ElementAt(i) + _T("',");
- }
- strSQL += m_saFields.ElementAt(m_nCount - 1) + _T("='") + m_saValues.ElementAt(m_nCount - 1) + _T("' ");
- strSQL += m_strFilter;
- }
- }
|