1)添加
//设置IField
IFieldEditPtr ipFieldEdit( m_ipField );
if( ipFieldEdit == NULL ) return;
ipFieldEdit->put_Name(CComBSTR(m_strNewFieldName));
ipFieldEdit->put_AliasName(CComBSTR(m_strNewFieldAliasName));
ipFieldEdit->put_Type(m_esrifieldType);
long nPrecision = atoi(m_strPrecision);
if( nPrecision > 0 )
{
ipFieldEdit->put_Precision( nPrecision );
}
if( m_bAllowNull )
{
ipFieldEdit->put_IsNullable(VARIANT_BOOL(-1));
}
else
{
ipFieldEdit->put_IsNullable(VARIANT_BOOL(0));
}
//添加进IFields
if( m_ipTempFieldsNew == NULL ) return;
IFieldsEditPtr ipFieldsEdit( m_ipTempFieldsNew );
if( ipFieldsEdit == NULL ) return;
ipFieldsEdit->AddField( m_ipField );
2)删除
if( m_ipTempFieldsNew == NULL ) return;
IFieldsEditPtr ipFieldsEdit( m_ipTempFieldsNew );
m_ipTempFieldsNew->FindField( bstrFieldName,&m_nDelFieldIndex );
m_ipTempFieldsNew->get_Field( m_nDelFieldIndex,&m_ipField );
ipFieldsEdit->DeleteField( m_ipField );
申明:本文系原创,如果转载,请注明:转载自GIS足迹 www.gisfoot.com