注册 登录
编程论坛 VC++/MFC

C++如何获取数据库中所有的表名

nanyang73 发布于 2012-09-25 07:42, 823 次点击
多谢各位高手
1 回复
#2
眼底星空2012-09-25 08:21
以前用到的一个ADO的封装。方法:

int adoGetAllTblName(_ConnectionPtr ipConn, CStringArray& TableNameSet)
{
    _RecordsetPtr    ipRst = ipConn->OpenSchema(adSchemaTables);
    if(NULL != NULL)   
        return 0;

    int nCount = 0;
    CString strTableName;
    while(ipRst->ADOEOF != VARIANT_TRUE)
    {
        _bstr_t bstrTableName = ipRst->GetFields()->GetItem("TABLE_NAME")->Value; //获取表的名称
        strTableName = (LPCTSTR)bstrTableName;
        TableNameSet.Add(strTableName);
        nCount++;
        ipRst->MoveNext();
    }
    ipRst->Close();
    return nCount;
}
1