문제

SQL에서는 다음을 사용할 수 있습니다.

INFORMATION_SCHEMA.TABLES에서 * 선택

등을 사용하여 데이터베이스 구조에 대한 정보를 얻습니다.Access 데이터베이스에 대해 동일한 작업을 수행하는 방법을 알아야 합니다.

도움이 되었습니까?

해결책

다음을 사용하여 동등한 작업을 수행할 수 있습니다.

OleDbConnection.GetOleDbSchemaTable() 메서드.

보다 http://support.microsoft.com/kb/309488 자세한 내용은

다른 팁

OLEDB에서는 DBSCHEMA_TABLES로 액세스할 수 있습니다.다음 C++ 코드는 OLEDB 공급자로부터 테이블 정보를 검색하는 방법을 보여줍니다.

#include <atldb.h>
...
        // Standard way of obtaining table node info.
        CAccessorRowset<CDynamicAccessor, CBulkRowset> pRS;
        pRS.SetRows(100);

        CSchemaTables<CSession>* pBogus;
        hr = session.CreateSchemaRowset(NULL, 0, NULL, IID_IRowset, 0, NULL, (IUnknown**)&pRS.m_spRowset, pBogus);
        if (FAILED(hr))
            goto lblError;

        hr = pRS.Bind();
        if (FAILED(hr))
            goto lblError;

        hr = pRS.MoveFirst();
        if (FAILED(hr))
            goto lblError;

        while (S_OK == hr)
        {
            wstring sTableSchema(pRS.GetWCharValue(L"TABLE_SCHEMA"));
            wstring sTableName(pRS.GetWCharValue(L"TABLE_NAME"));
            wstring sTableType(pRS.GetWCharValue(L"TABLE_TYPE"));
            ...

            hr = pRS.MoveNext(); 
        }
        pRS.Close();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top