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 di 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);
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 valori di OleDbSchemaGuid che specifica la tabella dello schema da restituire.
- restrictions
- Object[]
Matrice Object di valori di restrizione. I valori sono applicati secondo l'ordine delle colonne di restrizione. Ovvero, il primo valore della restrizione si applica alla prima colonna di limitazione, il secondo valore della restrizione si applica alla seconda colonna di limitazione e così via.
Restituisce
Classe DataTable che contiene le informazioni richieste sullo schema.
Eccezioni
Il gruppo di restrizioni specificate non è valido.
OleDbConnection è chiuso.
Il rowset dello schema specificato non è supportato dal provider OLE DB.
-oppure-
Il parametro schema
contiene un valore di DbInfoLiterals e il parametro restrictions
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 nella matrice di restrizioni viene confrontato con la prima colonna nel set di righe. Se un elemento di restrizione non è Null, vengono aggiunte solo righe del set di righe dello schema che corrispondono esattamente al valore della restrizione 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 .