Ako získať stĺpec schémy pomocou DataReader GetSchemaTable metódu a Visual C#.NET

Preklady článku Preklady článku
ID článku: 310107 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok ukazuje spôsob použitia GetSchemaTable metódu DataReader objektu DoCmd v ADO.NET získavať informácie o schéme stĺpca. Ďalším názov stĺpca schémy je jeho vlastnosti poľa. Informácie o schéme stĺpca obsahuje nasledovné informácie o stĺpci:
  • meno
  • Typ údajov
  • Veľkosť
  • Či stĺpca je pole primárneho kľúča
  • Či je stĺpec typu Automatické číslovanie (autoinkrementácia) pole
Metóda GetSchemaTable vráti DataTable majetok, ktorý obsahuje stĺpec schéma pre DataReader. DataTable obsahuje jeden riadok pre každé pole v resultset. Každý stĺpec mapy do nehnuteľností v odbore resultset. ColumnName vlastnosť stĺpca DataTable je názov vlastnosti poľa, ako napríklad vlastnosť ColumnName, údajový typ, ColumnSize, IsKeyColumnalebo IsAutoIncrement . Hodnota DataTable stĺpec je hodnota vlastnosti poľa, ako napríklad KrstnéMeno hodnotu pre vlastnosť ColumnName .
Poznámka Získať informácie o hlavnom kľúči, vrátane toho, či je pole časti primárneho kľúča a či je pole AutoIncrement , musíte nastaviť hodnotu CommandBehaviorDataReader na CommandBehavior.KeyInfo.

Môžete použiť metódu GetSchemaTable s buď OLE DB.NET poskytovateľ alebo SQL.NET Poskytovate?a slu?ieb. Metóda OleDbDataReader.GetSchemaTable mapy OLE DB IColumnsRowset::GetColumnsRowset metódy. Metóda SqlDataReader.GetSchemaTable nepoužíva OLE DB Provider vrstvy.

Poznámky pod čiarou, pokiaľ nie je výslovne použijete metódu GetSchemaTable , DataReader nevráti stĺpec schémy. Tiež, ak používate GetSchemaTable získavať schéme stĺpec, nemôže aktualizovať DataReader. DataReader vždy vyhľadá iba na čítanie, premiestniteľným iba dopredu prúd údajov z databáza.

Ak chcete použiť metódu GetSchemaTable

  • SqlConnection objekt nepodporuje získava informácie o schéme servera SQL Server pri metóde analogické metódy OleDbConnection objektu GetOleDbSchemaTable . Metóda GetSchemaTable trieda SqlDataReader poskytuje priamočiary spôsob, ako získať stĺpec schémy informácie zo servera SQL Server.
  • Hoci OleDbConnection objektu GetOleDbSchemaTable metóda môže vrátiť databáze, tabuľky a stĺpca schémy informácie, možno zistíte, že GetSchemaTable metódu DataReader objektu je jednoduchšie použiť, ak chcete načítať iba stĺpec informácie o schéme.
  • Metódu GetSchemaTable môžete použiť na vytvorenie nových DataTable založené na schémy existujúcich DataTable vlastností, zatiaľ čo môžete prispôsobiť názvy stĺpcov a ostatné St??PCA matice. Vzorového kódu, ktorý demonštruje, ako využiť GetSchemaTable na definovanie novej tabuľky nájdete v časti „Visual Studio vzorky: Fitch a Mather 7.0 spúšťať SQL dotaze"tému v vývojové prostredie Microsoft Visual Studio .NET on-line Dokumentácii Pomocníka.

Načítať schéma stĺpec s OLE DB.NET poskytovateľa

Táto vzorka zoznamy schémy informácie pre stĺpce (pole vlastnosti) s tabuľkou Zamestnanci v SQL Server Northwind databáza.

Upozor?ujeme, ?e ke? používate OLE DB.NET poskytovateľa používate GetSchemaTable metódu OleDbDataReader objektu DoCmd.
  1. Spustite program Visual Studio.ČISTÉ a potom môžete vytvoriť nové Visual C# Konzola aplikácií project. Class1.CS sa vytvorí na základe predvoleného nastavenia.
  2. Otvorte okno Code for Class1. Prilepte nasledujúci kód v hornej časti okna s kódom nad deklaráciu priestoru názvov :
    using System.Data;
    using System.Data.OleDb;
    					
  3. V okne kód prilepte nasledujúci kód hlavné funkcie:
    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. Upraviť parametre Vlastnosť ConnectionString správne pripojiť na server SQL Server počítač.
  5. Stlačením klávesu F5 na zostavenie a spustenie projektu. Oznámenie že vlastnosti jednotlivých polí sú uvedené v okne konzoly.
  6. Stlačením klávesu ENTER prejdite cez zoznam návrhov funkcie, koniec konzola žiadosti a vrátiť sa do Integrated Development Environment (IDE).

Načítať schéma stĺpec s SQL.NET poskytovateľa

Táto vzorka zoznamy schémy informácie pre stĺpce (pole vlastnosti) s tabuľkou Zamestnanci v SQL Server Northwind databáza.

Upozor?ujeme, ?e ke? používate SQL.NET poskytovateľa používate GetSchemaTable metódu SqlDataReader objektu DoCmd.
  1. Spustite program Visual Studio.ČISTÉ a vytvoriť nové Visual C# Konzola aplikácií project. Class1.CS sa vytvorí na základe predvoleného nastavenia.
  2. Otvorte okno Code for Class1. Prilepte nasledujúci kód v hornej časti okna s kódom nad deklaráciu priestoru názvov :
    using System.Data;
    using System.Data.SqlClient;
    					
  3. V okne kód prilepte nasledujúci kód hlavné funkcie:
    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. Upraviť parametre Vlastnosť ConnectionString správne pripojiť na server SQL Server počítač.
  5. Stlačením klávesu F5 na zostavenie a spustenie projektu. Všimnite si, že vlastnosti jednotlivých polí sú uvedené v okne konzoly.
  6. Stlačením klávesu ENTER prejdite cez zoznam návrhov funkcie, koniec konzola žiadosti a return to IDE.

ODKAZY

Ďalšie informácie o DataReader a GetSchemaTable metóda nájdete v nasledovných témach v Visual Studio.NET on-line Dokumentáciu Pomocníka:
Načítanie údajov pomocou DataReader

IDataReader.GetSchemaTable metóda

Poznámka: Táto téma obsahuje úplný zoznam stĺpcov v vrátený DataTable.

OleDbDataReader.GetSchemaTable metóda

SqlDataReader.GetSchemaTable metóda
Ďalšie informácie o používaní OleDbConnection objektu GetOleDbSchemaTable metóda získavať informácie o schéme po kliknutí na číslo článku nižšie, čím zobrazíte článok v databáze Microsoft Knowledge Base:
309681 Ako získať informácie o schéme pomocou GetOleDbSchemaTable a Visual C#.NET

Vlastnosti

ID článku: 310107 - Posledná kontrola: 12. júna 2012 - Revízia: 3.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Kľúčové slová: 
kbdatabase kbhowtomaster kbsqlclient kbsystemdata kbmt KB310107 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 310107

Odošlite odozvu

 

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