Číst v angličtině

Sdílet prostřednictvím


Příkaz GetSchema a kolekce schémat

Třídy připojení v každém ze spravovaných zprostředkovatelů rozhraní .NET Framework implementují metodu GetSchema , která se používá k načtení informací o schématu o databázi, která je aktuálně připojena. Informace o schématu vrácené metodou GetSchema přicházejí ve formě DataTable. GetSchema metoda je přetížená metoda, která poskytuje volitelné parametry pro určení kolekce schématu, která se má vrátit, a omezení množství vrácených informací.

Určení kolekcí schémat

První volitelný parametr metody GetSchema je název kolekce, který je určen jako řetězec. Existují dva typy kolekcí schémat: společné kolekce schématu pro všechny zprostředkovatele a konkrétní kolekce schémat, které jsou specifické pro každého zprostředkovatele.

Můžete dotazovat spravovaného zprostředkovatele rozhraní .NET Framework a určit seznam podporovaných kolekcí schémat voláním metody GetSchema bez argumentů nebo s názvem kolekce schématu MetaDataCollections. Tím se vrátí DataTable seznam podporovaných kolekcí schémat, počet omezení, která každá podpora podporuje, a počet částí identifikátorů, které používají.

Příklad načítání kolekcí schémat

Následující příklady ukazují, jak pomocí GetSchema metody rozhraní .NET Framework Zprostředkovatel dat pro třídu SQL Serveru SqlConnection načíst informace o schématu o všech tabulkách obsažených v ukázkové databázi AdventureWorks:

using System;
using System.Data;
using System.Data.SqlClient;

class Program
{
  static void Main()
  {
  string connectionString = GetConnectionString();
  using (SqlConnection connection = new SqlConnection(connectionString))
  {
   // Connect to the database then retrieve the schema information.
   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 string GetConnectionString()
  {
   // To avoid storing the connection string in your code,
   // you can retrieve it from a configuration file.
   return "...";
  }

  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("============================");
     }
  }
}

Viz také