OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce informazioni sullo schema da un'origine dati come indicato da un GUID e dopo l'applicazione delle restrizioni specificate.
public:
System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable GetOleDbSchemaTable(Guid schema, object[] restrictions);
member this.GetOleDbSchemaTable : Guid * obj[] -> System.Data.DataTable
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object()) As DataTable
Parametri
- schema
- Guid
Uno dei OleDbSchemaGuid valori che specifica la tabella dello schema da restituire.
- restrictions
- Object[]
Matrice Object di valori di restrizione. Questi vengono applicati nell'ordine delle colonne di restrizione. Ovvero, il primo valore di restrizione si applica alla prima colonna di restrizione, il secondo valore di restrizione si applica alla seconda colonna di restrizione e così via.
Valori restituiti
Oggetto DataTable contenente le informazioni sullo schema richieste.
Eccezioni
Il set specificato di restrizioni non è valido.
L'oggetto OleDbConnection è chiuso.
Il set di righe dello schema specificato non è supportato dal provider OLE DB.
oppure
Il schema parametro contiene un valore e DbInfoLiterals il restrictions parametro contiene una o più restrizioni.
Esempio
Nell'esempio seguente viene restituito un elenco di tabelle in un database.
static DataTable GetSchemaTable(string connectionString)
{
using (OleDbConnection connection = new
OleDbConnection(connectionString))
{
connection.Open();
DataTable schemaTable = connection.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });
return schemaTable;
}
}
Public Function GetSchemaTable(ByVal connectionString As String) _
As DataTable
Using connection As New OleDbConnection(connectionString)
connection.Open()
Dim schemaTable As DataTable = _
connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
Return schemaTable
End Using
End Function
Commenti
La tabella dello schema viene restituita come oggetto DataTable con lo stesso formato del set di righe dello schema OLE DB specificato dal schema parametro . Usare il restrictions parametro per filtrare le righe da restituire in DataTable , ad esempio specificando restrizioni per il nome della tabella, il tipo, il proprietario o lo schema. Quando si passano valori nella matrice, includere stringhe vuote o valori Null per gli elementi della matrice che non contengono valori. Se si passa una matrice vuota a restrictions, tutte le righe (una per ogni tabella) vengono restituite nell'ordine predefinito. I valori nella matrice corrispondono all'ordine delle colonne nella tabella di origine e DataTable. Ogni elemento nella matrice di restrizioni viene confrontato con il contenuto della colonna corrispondente nel set di righe dello schema. Ad esempio, il primo elemento della matrice di restrizioni viene confrontato con la prima colonna del set di righe. Se un elemento di restrizione non è Null, solo le righe del set di righe dello schema che corrispondono esattamente al valore della restrizione vengono aggiunte all'oggetto risultante DataTable.
Il OleDbConnection metodo chiama il metodo OLE DB IDBSchemaRowset::GetRowset sottostante usando le regole di conversione standard di Common Language Runtime. Per altre informazioni, vedere Tipi di dati COM.
È possibile recuperare informazioni sui valori letterali usando DbInfoLiterals. In questo modo vengono fornite informazioni equivalenti alla chiamata all'interfaccia OLE DB IDBInfo::GetLiteralInfo o al metodo ADO Connection.OpenSchema con la adSchemaDBInfoLiterals costante .