void OpenSchemaX(TCHAR *TableName) { HRESULT hr = S_OK; ::CoInitialize(NULL); //初始化Com IADORecordBinding *picRs = NULL; _RecordsetPtr pRstSchema("ADODB.Recordset"); _ConnectionPtr pConnection("ADODB.Connection" ); pConnection->ConnectionString = TableName; pConnection->Provider = "Microsoft.Jet.OLEDB.4.0"; try { pConnection->Open(pConnection->ConnectionString, "", "", adModeUnknown); pRstSchema->QueryInterface( __uuidof(IADORecordBinding), (LPVOID*)&picRs); pRstSchema = pConnection->OpenSchema(adSchemaTables);//枚举表的名称处理 while(!(pRstSchema->EndOfFile)) { CString strTableType; _bstr_t table_name = pRstSchema->Fields-> GetItem("TABLE_NAME")->Value;//获取表的名称 _bstr_t table_type = pRstSchema->Fields-> GetItem("TABLE_TYPE")->Value;//获取表的类型 strTableType.Format("%s",(LPCSTR) table_type); if(!lstrcmp(strTableType,_T("TABLE"))) { m_strList.AddString((LPCSTR) table_name);//添加表的名称 } pRstSchema->MoveNext(); } // Clean up objects before exit. pRstSchema->Close(); pConnection->Close(); } catch (_com_error &e) { // Notify the user of errors if any. // Pass a connection pointer accessed from the Connection. PrintProviderError(pConnection); PrintComError(e); } 希望看到更多更经典的开发技巧,请随时刷新《开发特区》栏目。 |
正在阅读:获取ACCESS2000数据库中所有表的名称获取ACCESS2000数据库中所有表的名称
2004-04-29 14:58
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键