怎么获取表中的所有字段名

hu2020 2009-11-24 02:03:28
请问怎么 获取指定数据库中指定表的所有字段名。

我是这样的
UpdateData(true);
HRESULT hr;
_bstr_t bt;
CString strColName;
BSTR bstrColName;
long ColCount,i;
Field* field = NULL;
Fields* fields = NULL;
LPCTSTR nameField;

CString Cbiao,Cku,str;
int dex=m_zdb.GetCurSel();
m_zdb.GetText(dex,Cbiao);
int dez=m_ku.GetCurSel();
m_ku.GetText(dez,Cku);


str.Format("use %s select * from %s",Cku,Cbiao);
bt=_bstr_t(str);
try{
hr=m_pRecordset.CreateInstance (__uuidof(Recordset));
ASSERT(SUCCEEDED(hr));
//打开数据源
m_pRecordset->Open (bt,m_pConnection.GetInterfacePtr (),adOpenDynamic,adLockOptimistic,adCmdText);

hr = m_pRecordset->get_Fields(&fields); // 得到记录集的字段集和

if(SUCCEEDED(hr))
fields->get_Count(&ColCount);

for(i = 0; i < ColCount; i++)
{
fields->Item[i]->get_Name(&bstrColName); // 得到记录集中的字段名
strColName = bstrColName;
nameField = strColName;
m_zzong.AddString(nameField);
}

if(SUCCEEDED(hr))
fields->Release();
m_pRecordset->Close();
}
catch(_com_error)
{
}


但是fields->get_Count(&ColCount);始终是0,不知道是怎么回事。请大家帮忙

谢谢

...全文
286 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hu2020 2009-11-24
  • 打赏
  • 举报
回复
3楼的大哥,我看不懂你的代码

还是谢了
MoXiaoRab 2009-11-24
  • 打赏
  • 举报
回复
顶楼上的
huliang66 2009-11-24
  • 打赏
  • 举报
回复
按照我说的方法access、sql server、oracle都可以
我亲自测试过
hongya6088 2009-11-24
  • 打赏
  • 举报
回复
用什么数据库,如果是MSSQL的话可以用SQL语句:
SELECT Columns.Name FROM SysColumns Columns,
SysObjects Objects WHERE Objects.Name = '" +
表名 +"' AND Columns.Id = Objects.Id";


huliang66 2009-11-24
  • 打赏
  • 举报
回复
不用把字段放一个表里查,按照我上面那样可以查出来
huliang66 2009-11-24
  • 打赏
  • 举报
回复

//获取字段名strName,dataSize为已经获得的字段个数
CString *strName=new CString[dataSize];
_RecordsetPtr m_pRS;
for (int bb=0;bb<dataSize;bb++)
{
GetFieldsName(m_pRS,bb,*(strName+bb));//获取字段名
}

//获取字段名
BOOL GetFieldsName(_RecordsetPtr RcdPtr, int nField, CString & strFieldName)

{

if(NULL == RcdPtr || nField >= RcdPtr->GetFields()->Count)
return FALSE;

_variant_t vt((long)nField);

strFieldName.Format(_T("%s"), (char*)(RcdPtr->GetFields()->Item[vt]->Name));

return true;

}
hu2020 2009-11-24
  • 打赏
  • 举报
回复
怎么意思,说清楚点谢谢
老吴笔记 2009-11-24
  • 打赏
  • 举报
回复
把字段名放到别一个表里,查那个表

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧