Jak načíst sloupec schématu pomocí objektu DataReader GetSchemaTable metoda a Visual C# .NET

Překlady článku Překlady článku
ID článku: 310107 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak načíst informace o schématu sloupec pomocí objektu DataReaderGetSchemaTable metoda v rozhraní ADO.NET. Jiný název sloupce schématu je jeho vlastnosti pole. Informace o schématu sloupec obsahuje následující informace o sloupci:
  • Jméno
  • Datový typ
  • Velikost
  • Zda je sloupec primárního klíče
  • Zda je ve sloupci pole typu Automatické číslo (AutoIncrement)
Metoda GetSchemaTable vrátí vlastnost DataTable , která obsahuje sloupec schématu objektu DataReader. Objekt DataTable obsahuje jeden řádek pro každé pole v této sadě. Každý sloupec je mapována na vlastnost pole v této sadě. Vlastnost DataTable sloupec Název_sloupce je název pole, vlastnosti, například vlastnost Název_sloupce, datový typ, ColumnSize, IsKeyColumnnebo IsAutoIncrement . Hodnota DataTable sloupce je hodnota vlastnosti pole, například jméno hodnotu pro vlastnost Název_sloupce .
Poznámka: Chcete-li získat primární klíče informace, včetně toho, zda pole je součástí primárního klíče a zda je pole AutoIncrement , nastavte na CommandBehavior.KeyInfoCommandBehavior hodnotu DataReader .

Zprostředkovatel .NET technologie OLE DB nebo zprostředkovatele .NET SQL můžete použít metodu GetSchemaTable . OleDbDataReader.GetSchemaTable metoda mapuje OLE DB IColumnsRowset::GetColumnsRowset metoda. SqlDataReader.GetSchemaTable metoda nepoužívá vrstvu zprostředkovatele OLE DB.

Poznámky Pokud explicitně pomocí metody GetSchemaTableobjektu DataReader nevrací sloupec schématu. Také načíst sloupec schématu pomocí GetSchemaTable , nelze aktualizovat objekt DataReader. Objekt DataReader vždy načítá datový proud pouze pro čtení, pouze pro předávání dat z databáze.

Při použití metody GetSchemaTable

  • Objekt SqlConnection nepodporuje načítání informationin schématu SQL Server metoda podobná Metoda GetOleDbSchemaTable metoda OleDbConnection objektu. Metoda GetSchemaTable třídy SqlDataReader poskytuje jednoduchý způsob, jak získat ze serveru SQL Server sloupec schemainformation.
  • Přestože Metoda GetOleDbSchemaTable metoda OleDbConnection objektu můžete vrátit, tabulky, databáze a informace o schématu sloupec, můžete zjistit, že metoda GetSchemaTable objektu DataReader je jednodušší použít pokud chcete získat pouze informace o columnschema.
  • Chcete-li vytvořit nový objekt DataTable na základě existující DataTable vlastnost schématu při přizpůsobování názvy sloupců a othercolumn atributy, můžete použít metodu GetSchemaTable . Ukázkový kód demonstruje použití GetSchemaTable definovat nové tabulky naleznete v tématu "Visual Studio vzorky: Fitchand Mather 7.0 spusťte dotaz SQL" v dokumentaci Microsoft Visual Studio .NET OnlineHelp.

Načíst sloupec schématu pomocí zprostředkovatele OLE DB .NET

Tento příklad uvádí informace o schématu pro sloupce (Vlastnosti pole) tabulky Employees v databázi Northwind serveru SQL Server.

Všimněte si, že při použití zprostředkovatele OLE DB .NET Provider použijete metodu GetSchemaTable objektu OleDbDataReader .
  1. Spustit Visual Studio .NET a pak vytvořte nový projekt Visual C #Console aplikace. Ve výchozím nastavení je vytvořen Class1.cs.
  2. Otevřete okno kód Class1. Vložte následující codeat horní části okna kód nad deklarace oboru názvů :
    using System.Data;
    using System.Data.OleDb;
    					
  3. V okně kód vložte následující kód ve funkci Main :
    OleDbConnection cn = new OleDbConnection();
    OleDbCommand cmd = new OleDbCommand();
    DataTable schemaTable; 
    OleDbDataReader myReader; 
    			 
    //Open a connection to the SQL Server Northwind database.
    cn.ConnectionString = "Provider=SQLOLEDB;Data Source=server;User ID=login;
                           Password=password;Initial Catalog=Northwind";
    cn.Open();
    
    //Retrieve records from the Employees table into a DataReader.
    cmd.Connection = cn;
    cmd.CommandText = "SELECT * FROM Employees";
    myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo); 
    
    //Retrieve column schema into a DataTable.
    schemaTable = myReader.GetSchemaTable();
    
    //For each field in the table...
    foreach (DataRow myField in schemaTable.Rows){
        //For each property of the field...
        foreach (DataColumn myProperty in schemaTable.Columns) {
    	//Display the field name and value.
    	Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());
        }
        Console.WriteLine();
    
        //Pause.
        Console.ReadLine();
    }
    
    //Always close the DataReader and connection.
    myReader.Close();
    cn.Close();
    					
  4. Upravte parametry vlastnost ConnectionString správně připojit k vaší SQL Servercomputer.
  5. Stisknutím klávesy F5 kompilace a spuštění projektu. Noticethat vlastnosti jednotlivých polí jsou uvedeny v okně konzoly.
  6. Stisknutím klávesy ENTER procházejte seznam, consoleapplication ukončit a vrátit integrovaného rozvoje Environment(IDE).

Načíst sloupec schématu pomocí zprostředkovatele .NET SQL

Tento příklad uvádí informace o schématu pro sloupce (Vlastnosti pole) tabulky Employees v databázi Northwind serveru SQL Server.

Poznámka: při použití zprostředkovatele SQL .NET, můžete použít metodu GetSchemaTable objektu SqlDataReader .
  1. Spusťte Visual Studio .NET a vytvořit nový projekt Visual C #Console aplikace. Ve výchozím nastavení je vytvořen Class1.cs.
  2. Otevřete okno kód Class1. Vložte následující codeat horní části okna kód nad deklarace oboru názvů :
    using System.Data;
    using System.Data.SqlClient;
    					
  3. V okně kód vložte následující kód ve funkci Main :
    SqlConnection cn = new SqlConnection();
    SqlCommand cmd = new SqlCommand();
    DataTable schemaTable; 
    SqlDataReader myReader; 
    			 
    //Open a connection to the SQL Server Northwind database.
    cn.ConnectionString = "Data Source=server;User ID=login;
                           Password=password;Initial Catalog=Northwind";
    cn.Open();
    
    //Retrieve records from the Employees table into a DataReader.
    cmd.Connection = cn;
    cmd.CommandText = "SELECT * FROM Employees";
    myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
    
    //Retrieve column schema into a DataTable.
    schemaTable = myReader.GetSchemaTable();
    
    //For each field in the table...
    foreach (DataRow myField in schemaTable.Rows){
        //For each property of the field...
        foreach (DataColumn myProperty in schemaTable.Columns) {
    	//Display the field name and value.
    	Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());
        }
        Console.WriteLine();
    
        //Pause.
        Console.ReadLine();
    }
    
    //Always close the DataReader and connection.
    myReader.Close();
    cn.Close();
    					
  4. Upravte parametry vlastnost ConnectionString správně připojit k vaší SQL Servercomputer.
  5. Stisknutím klávesy F5 kompilace a spuštění projektu. Všimněte si, že theproperties jednotlivých polí jsou uvedeny v okně konzoly.
  6. Stisknutím klávesy ENTER procházejte seznam, consoleapplication ukončit a vrátit se do IDE.

Odkazy

Další informace o objektu DataReader a metoda GetSchemaTable naleznete v následujících tématech v dokumentaci Visual Studio .NET Online nápovědy:
Načítání dat pomocí objektu DataReader

Metoda IDataReader.GetSchemaTable

Poznámka: Toto téma obsahuje seznam všech sloupců v vráceného objektu DataTable.

Metoda OleDbDataReader.GetSchemaTable

Metoda SqlDataReader.GetSchemaTable
Další informace o použití objektu OleDbConnectionMetoda GetOleDbSchemaTable metoda načíst informace o schématu klepněte na následující číslo článku znalostní báze Microsoft Knowledge Base:
309681 Jak načíst informace o schématu pomocí Metoda GetOleDbSchemaTable a Visual C# .NET

Vlastnosti

ID článku: 310107 - Poslední aktualizace: 28. října 2013 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Klíčová slova: 
kbdatabase kbhowtomaster kbsqlclient kbsystemdata kbmt KB310107 KbMtcs
Strojově přeložený článek
DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.
Projděte si také anglickou verzi článku: 310107

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com