www.pudn.com > goodchessGame.zip > Field.cpp
#include "stdafx.h"
#include "field.h"
BOOL IsExistentField(CDaoTableDef *pTableDef, CString strFieldName)
{
if(pTableDef == NULL)
return FALSE;
BOOL bDuplicateFieldName = TRUE;
CDaoFieldInfo fieldInfo;
TRY
{
pTableDef->GetFieldInfo(strFieldName, fieldInfo);
}
CATCH (CDaoException, e)
{
if(e->m_pErrorInfo->m_lErrorCode == 3265)
bDuplicateFieldName = FALSE;
}
AND_CATCH (CMemoryException, e)
{
}
END_CATCH
return bDuplicateFieldName;
}
BOOL createNewField(CDaoTableDef *pTableDef, CDaoFieldInfo *pFieldInfo)
{
if(pTableDef == NULL)
return FALSE;
if(IsExistentField(pTableDef, pFieldInfo->m_strName))
{
AfxMessageBox(_T("A field by that name already exists."));
return FALSE;
}
BOOL bCreateFailed = FALSE;
TRY
{
pTableDef->CreateField(*pFieldInfo);
}
CATCH (CDaoException ,e)
{
CString message = _T("Couldn't create field--Exception: ");
message += e->m_pErrorInfo->m_strDescription;
AfxMessageBox(message);
bCreateFailed = TRUE;
}
AND_CATCH (CMemoryException ,e)
{
AfxMessageBox(_T("Failed to create field--Memory Exception thrown. "));
bCreateFailed = TRUE;
}
END_CATCH
return (!bCreateFailed);
}
BOOL deleteField(CDaoTableDef *pTableDef, CString strFieldName)
{
if(pTableDef == NULL)
return FALSE;
BOOL bSuccess = TRUE;
TRY
{
pTableDef->DeleteField(strFieldName);
}
CATCH (CDaoException, e)
{
CString strMessage = _T("Couldn't delete the field--Exception: ");
strMessage += e->m_pErrorInfo->m_strDescription;
AfxMessageBox(strMessage);
bSuccess = FALSE;
}
AND_CATCH (CMemoryException, e)
{
AfxMessageBox(_T("Failed to delete the field--Memory exception thrown."));
bSuccess = FALSE;
}
END_CATCH
return bSuccess;
}