Momentan sunteți offline, așteptați să vă reconectați la internet

Cum pentru a prelua coloana Schema utilizând DataReader GetSchemaTable metoda şi Visual C#.NET

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greşeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 310107
Pentru un Microsoft Visual Basic.NET versiune a acestui articolul, vedea 310108.
Pentru un Microsoft Visual c ++ .NET versiune a acestui articol, consultaţi 309683.

Acest articol se referă pentru următoarele Microsoft .NET cadru clasa biblioteca spaţiu de nume:
  • System.data.OleDb

ÎN ACEASTĂ ACTIVITATE

REZUMAT
Prezentul articol demonstrează cum se utilizează metoda GetSchemaTable obiectului DataReader în ADO.NET pentru a regăsi informaţii de schemă coloana. Un alt nume pentru schemă o coloană este proprietăţile câmpului. Informațiile de schemă coloana include următoarele informaţii despre coloana:
  • nume
  • Tip acoperire de date
  • Dimensiunea
  • Dacă coloana este o câmpul cheie primară
  • Dacă coloana este o AutoNumerotare (AutoIncrement) câmp
Metoda GetSchemaTable întoarce o proprietate DataTable care conţine schema de coloană pentru o DataReader. DataTable conţine un rând pentru fiecare câmp din resultset. Fiecare coloană Maps pentru o proprietate a câmpului în resultset. Proprietatea numecoloană coloana DataTable este nume de sign-in câmpul de proprietate, cum ar fi proprietatea numecoloană, TipDate, ColumnSize, IsKeyColumnsau IsAutoIncrement . Valoarea din coloana de DataTable este valoarea proprietăţii câmpului, cum ar fi valoarea FirstName pentru proprietatea numecoloană .
Notă Pentru a obţine informaţii cheie primară, inclusiv, dacă este un câmp parte a unei chei primare şi dacă este un câmp AutoIncrement , setaţi valoarea CommandBehaviorDataReader la CommandBehavior.KeyInfo.

Utilizaţi metoda GetSchemaTable cu fie OLE DB.NET furnizorul sau SQL.NET furnizor de consolidare servicii. Metoda OleDbDataReader.GetSchemaTable hărţi la metoda OLE DB IColumnsRowset::GetColumnsRowset . Metoda SqlDataReader.GetSchemaTable nu utilizează un strat OLE DB Provider.

Note, Dacă nu utilizaţi în mod explicit metoda GetSchemaTable , DataReader nu întoarce coloana schemă. De asemenea, dacă utilizaţi GetSchemaTable pentru a regăsi schema de coloană, nu actualizaţi DataReader. DataReader întotdeauna preia un flux doar-în-citire, forward-only acoperire de date de la un bază acoperire de date.

back to the top

Când se utilizează metoda GetSchemaTable

  • Obiectul SqlConnection nu acceptă regăsirea de informaţii de schemă SQL Server într-o metodă similară cu metoda obiectului OleDbConnectionGetOleDbSchemaTable . Metoda GetSchemaTable de clasa SqlDataReader oferă o modalitate simplă pentru a obţine coloana schemă informaţii de la SQL Server.
  • Deşi obiectului OleDbConnectionGetOleDbSchemaTable metoda poate returna date, tabel şi coloană schemă informaţii, Puteţi găsi că metoda GetSchemaTable obiectului DataReader este mai uşor de utilizat dacă doriţi pentru a regăsi numai coloana informațiile de schemă.
  • Utilizaţi metoda GetSchemaTable pentru a crea un nou DataTable bazat pe o proprietate existentă pentru DataTable schemă în marcă de timp ce vă particulariza nume de sign-in de coloane şi alte coloana atribute. Pentru mostre de cod care demonstrează modul de a utiliza GetSchemaTable pentru a defini un tabel nou, se referă la "Visual Studio probe: Fitch şi Mather 7.0 Executare interogare SQL"subiectul în Microsoft Visual Studio .NET Online Documentaţia de ajutor.
back to the top

Prelua coloana Schema cu OLE DB.NET furnizor

Acest eşantion listează informaţii de schemă pentru coloanele (câmp Proprietăţi) din tabelul angajaţi în SQL Server Northwind bază acoperire de date.

Reţineţi că atunci când se utilizează OLE DB.NET furnizor, utilizaţi metoda GetSchemaTable de obiect OleDbDataReader .
  1. Start Visual Studio .NET, şi apoi să creaţi un nou Visual C# Consola de aplicarea proiectului. Class1.CS este creat implicit.
  2. Deschideţi fereastra de cod pentru Class1. Lipiţi următorul cod în partea de sus a ferestrei codul de mai sus declarația de spaţiu de nume :
    using System.Data;using System.Data.OleDb;					
  3. În fereastra de cod, lipiţi următorul cod în funcţia principală :
    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. Modificaţi parametrii de proprietatea ConnectionString pentru a conecta corespunzător la serverul SQL calculator.
  5. Apăsaţi tasta F5 pentru a compila şi pentru a rula proiectului. Anunţ că proprietăţile fiecărui câmp sunt enumerate în fereastra consolei.
  6. Apăsaţi ENTER pentru a defila în listă, sfârşitul consola cerere, şi întoarcere la mediu integrat de dezvoltare (IDE).
back to the top

Prelua coloana Schema cu SQL.NET furnizor

Acest eşantion listează informaţii de schemă pentru coloanele (câmp Proprietăţi) din tabelul angajaţi în SQL Server Northwind bază acoperire de date.

Reţineţi că atunci când se utilizează SQL.NET furnizor, utilizaţi metoda GetSchemaTable de obiect SqlDataReader .
  1. Start Visual Studio .NET, şi de a crea un nou Visual C# Consola de aplicarea proiectului. Class1.CS este creat implicit.
  2. Deschideţi fereastra de cod pentru Class1. Lipiţi următorul cod în partea de sus a ferestrei codul de mai sus declarația de spaţiu de nume :
    using System.Data;using System.Data.SqlClient;					
  3. În fereastra de cod, lipiţi următorul cod în funcţia principală :
    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. Modificaţi parametrii de proprietatea ConnectionString pentru a conecta corespunzător la serverul SQL calculator.
  5. Apăsaţi F5 pentru a compila şi pentru a rula proiectului. Observaţi că proprietăţile fiecărui câmp sunt enumerate în fereastra consolei.
  6. Apăsaţi ENTER pentru a defila în listă, sfârşitul consola cerere, şi întoarcere la IDE.
back to the top
REFERINŢE
Pentru mai multe informaţii despre DataReader şi metoda GetSchemaTable , consultaţi următoarele subiecte în Visual Studio .NET Online Documentaţia de ajutor: Pentru informaţii suplimentare despre utilizarea obiectului OleDbConnectionGetOleDbSchemaTable metoda pentru a regăsi informaţii de schemă, faceţi clic pe numărul de articol mai jos pentru a vedea articolul în bază de cunoştinţe Microsoft:
309681 Cum pentru a regăsi informaţii de schemă utilizând GetOleDbSchemaTable şi Visual C#.NET
back to the top

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 310107 - Ultima examinare: 06/12/2012 06:17:00 - Revizie: 1.0

Microsoft ADO.NET 1.1, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbdatabase kbhowtomaster kbsqlclient kbsystemdata kbmt KB310107 KbMtro
Feedback