Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: .NET Framework
.NET
Standard
De SqlConnection-klassen in de Microsoft SqlClient Data Provider voor SQL Server implementeren een GetSchema-methode die wordt gebruikt om schemagegevens op te halen over de database die momenteel is verbonden, en de schemagegevens die worden geretourneerd uit de Methode GetSchema , worden geleverd in de vorm van een DataTable. De Methode GetSchema is een overbelaste methode die optionele parameters biedt voor het opgeven van de schemaverzameling die moet worden geretourneerd en het beperken van de hoeveelheid geretourneerde informatie.
Het specificeren van de schemaverzamelingen
De eerste optionele parameter van de Methode GetSchema is de naam van de verzameling die is opgegeven als een tekenreeks. Er zijn twee typen schemaverzamelingen: algemene schemaverzamelingen die gemeenschappelijk zijn voor alle providers en specifieke schemaverzamelingen die specifiek zijn voor elke provider.
U kunt een query uitvoeren op de Microsoft SqlClient-gegevensprovider voor SQL Server om de lijst met ondersteunde schemaverzamelingen te bepalen door de GetSchema-methode zonder argumenten aan te roepen of met de naam van de schemaverzameling 'MetaDataCollections'. Hiermee wordt een DataTable lijst geretourneerd met een lijst met ondersteunde schemaverzamelingen, het aantal beperkingen dat ze elk ondersteunen en het aantal id-onderdelen dat ze gebruiken.
Voorbeeld van het ophalen van schemaverzamelingen
In de volgende voorbeelden ziet u hoe u de GetSchema methode van de Microsoft SqlClient-gegevensprovider voor SQL Server SqlConnection gebruikt om schemagegevens op te halen over alle tabellen in de AdventureWorks-voorbeelddatabase :
using System;
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source = localhost; Integrated Security = true; Initial Catalog = AdventureWorks";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
DataTable table = connection.GetSchema("Tables");
// Display the contents of the table.
DisplayData(table);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
}
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
}