VC中 ADO 如何从一个数据库中读取一个表的名称?如何读取系统表除外的所有表名

解决方案 »

  1.   

    这个跟数据库有关系。像MSSQLSER SYBASE SQLSERVER 都可以读每个数据库中的 SYSOBJECTS 表。详细的信息看联机帮助。
      

  2.   

    _RecordsetPtr pRstSchemaTable("ADODB.Recordset");
    pRstSchemaTable=m_pConn->OpenSchema(adSchemaTables);
    while(!pRstSchemaTable->EndOfFile){
    _bstr_t tableName=pRstSchemaTable->Fields->GetItem("TABLE_NAME")->Value;//读取表名
    _bstr_t tableType=pRstSchemaTable->Fields->GetItem("TABLE_TYPE")->Value;//读出来的不只是表而已^_^
    if(!lstrcmp(str_type,_T("TABLE"))//将表名都读出来,但是其中包含系统表哦,自己过滤吧,因为不知道楼主用的是哪个数据库