struct CADOFieldInfo { char m_strName[30]; short m_nType; long m_lSize; long m_lDefinedSize; long m_lAttributes; short m_nOrdinalPosition; BOOL m_bRequired; BOOL m_bAllowZeroLength; long m_lCollatingOrder; };要完整的类可以到我网站上载,codetools上也有,我的是加工过的简易版
select name from syscolumns where id=object_id(YouTableName); 使用这个语句
http://expert.csdn.net/Expert/topic/1333/1333910.xml?temp=.1165277
.....bool CADOParamSet::GetFieldInfo(int nIndex, CADOFieldInfo *fldInfo)
{
_variant_t vtFld;
_variant_t vtIndex;
vtIndex.vt = VT_I2;
vtIndex.iVal = nIndex;
strcpy(fldInfo->m_strName, (LPCTSTR)m_pRecordset->Fields->GetItem(vtIndex)->GetName());
//fldInfo->m_lSize = m_pRecordset->Fields->GetItem(vtIndex)->GetActualSize();
fldInfo->m_lDefinedSize = m_pRecordset->Fields->GetItem(vtIndex)->GetDefinedSize();
fldInfo->m_nType = m_pRecordset->Fields->GetItem(vtIndex)->GetType();
fldInfo->m_lAttributes = m_pRecordset->Fields->GetItem(vtIndex)->GetAttributes();
return true;
}BOOL CADOParamSet::GetFieldNameArray(CStringArray &NameArray, CString TableName)
{
NameArray.RemoveAll();
CADOFieldInfo info;
CString openstr;
openstr.Format("select * from %s",TableName);
Open(openstr,CADORecordset::openUnknown);
int count=m_pRecordset->Fields->GetCount();
if(count<=0)
return false; for(int i=0;i<count;i++)
{
GetFieldInfo(i,&info);
NameArray.Add(info.m_strName); }
return true;
}
{
char m_strName[30];
short m_nType;
long m_lSize;
long m_lDefinedSize;
long m_lAttributes;
short m_nOrdinalPosition;
BOOL m_bRequired;
BOOL m_bAllowZeroLength;
long m_lCollatingOrder;
};要完整的类可以到我网站上载,codetools上也有,我的是加工过的简易版
使用这个语句