#include "StdAfx.h" #include "MBTNXXXObj.h" IMPLEMENT_DYNAMIC(CMBTNXXXObj, CMBAbstBaseObj) CMBTNXXXObj::CMBTNXXXObj(void) { RemoveAllAttr(); } CMBTNXXXObj::~CMBTNXXXObj(void) { RemoveAllAttr(); } void CMBTNXXXObj::GetAttrMap( CMBTNXXXAttrMap &mapAttr) { mapAttr.clear(); mapAttr = m_mapAttr; } CMBTNXXXAttr *CMBTNXXXObj::GetAttr( CString strName ) { if( strName.IsEmpty() ) return NULL; CMBTNXXXAttrMap::iterator it; CMBTNXXXAttr *pAttr = NULL; it = m_mapAttr.find(strName); if( it!= m_mapAttr.end() ) pAttr = it->second; return pAttr; } bool CMBTNXXXObj::AddAttr( CMBTNXXXAttr *pAttr ) { if( NULL == pAttr || pAttr->m_strName.IsEmpty() ) return false; CMBTNXXXAttrMap::iterator it; CString strName; strName = pAttr->m_strName; it = m_mapAttr.find(strName); // Èç¹ûÕҵõ½ ·µ»Ø if( it != m_mapAttr.end() ) return false; m_mapAttr[strName] = pAttr; return true; } bool CMBTNXXXObj::RemoveAllAttr() { CMBTNXXXAttrMap::iterator it; CMBTNXXXAttr *pAttr = NULL; for( it = m_mapAttr.begin();it != m_mapAttr.end();it++ ) { pAttr = it->second; delete pAttr; pAttr = NULL; } m_mapAttr.clear(); return true; } // »ñÈ¡insert sql CString CMBTNXXXObj::GetInsertSql( CString strTableName ) { CString strSql,strFileds,strValues; CMBTNXXXAttrMap::iterator it; CMBTNXXXAttr *pAttr = NULL; strFileds = _T("S_ID"); strFileds += _T(","); strValues = _T("'") + m_strObjID + _T("'"); strValues += _T(","); for( it = m_mapAttr.begin();it != m_mapAttr.end();it++ ) { pAttr = it->second; strFileds += pAttr->m_strName; strFileds += _T(","); strValues += _T("'") + pAttr->m_strValue + _T("'"); strValues += _T(","); } strFileds = strFileds.Left(strFileds.GetLength()-1); strValues = strValues.Left(strValues.GetLength()-1); strSql.Format(_T("insert into %s(%s) VALUES (%s)"),strTableName,strFileds,strValues); return strSql; }