2009-11-06 32 views

回答

1
Dim ADOXCatalog As New ADOX.Catalog 
Dim ADOConnection As New ADODB.Connection 

Try 
ADOConnection.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
"Data Source=e:\My Documents\db1.mdb;" & _ 
"Jet OLEDB:Engine Type=4;") 

ADOXCatalog.ActiveConnection = ADOConnection 

Dim col As ADOX.Column 
For Each col In ADOXCatalog.Tables("Table1").Columns 
If col.Properties("AutoIncrement").Value = True Then 
Console.WriteLine(col.Name) 
End If 
Next 

Catch ex As Exception 
MessageBox.Show(ex.Message) 
Finally 
ADOConnection.Close() 
End Try 
1

使用:

try{ 
    ADOX::_CatalogPtr pCatalog= NULL; 
    pCatalog.CreateInstance(__uuidof(ADOX::Catalog)); 
    pCatalog->PutActiveConnection(_variant_t((IDispatch*)m_ipConnection)); 
    bool v = pCatalog->Tables->GetItem(bstrTableName)->Columns->GetItem(L"PlaceholderForAutoIncrementFieldName")->Properties->GetItem("AutoIncrement")->Value; 
    return v; 
} 
catch(_com_error &e) 
{ 
    _bstr_t bstrSource(e.Source()); 
    _bstr_t bstrDescription(e.Description()); 

    TRACE("\n\tSource : %s \n\tdescription : %s \n ", (LPCSTR)bstrSource, (LPCSTR) bstrDescription); 
} 
相關問題