Αυτήν τη στιγμή είστε εκτός σύνδεσης, σε αναμονή για επανασύνδεση στο Internet

ΔΙΑΔΙΚΑΣΙΕΣ: ανάκτηση στήλη σχήματος, χρησιμοποιώντας τη μέθοδο GetSchemaTable DataReader και Visual C# .NET

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο έχει μεταφραστεί χρησιμοποιώντας λογισμικό μηχανικής μετάφρασης της Microsoft και μπορείτε να το διορθώσετε χρησιμοποιώντας την τεχνολογία Community Translation Framework (CTF) (Πλαίσιο μετάφρασης κοινότητας). Η Microsoft παρέχει μηχανική μετάφραση, επεξεργασία μετά τη μηχανική μετάφραση από την κοινότητα και άρθρα μεταφρασμένα από επαγγελματίες προκειμένου να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής βάσης σε πολλές γλώσσες. Τα άρθρα μηχανικής μετάφρασης και αυτά που επεξεργάζονται ύστερα από μηχανική μετάφραση ενδέχεται να περιέχουν σφάλματα στο λεξιλόγιο, στη σύνταξη ή/και στη γραμματική. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες μας. Για περισσότερες πληροφορίες σχετικά με το CTF, μεταβείτε στην τοποθεσία http://support.microsoft.com/gp/machine-translation-corrections/el.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 310107
Για την έκδοση Microsoft Visual Basic .NET αυτού του άρθρου, ανατρέξτε στην ενότητα 310108.
Για την έκδοση Microsoft Visual C++ .NET αυτού του άρθρου, ανατρέξτε στην ενότητα 309683.

Αυτό το άρθρο αναφέρεται από τον ακόλουθο χώρο ονομάτων βιβλιοθήκη κλάσεων του Microsoft .NET Framework:
  • System.Data.OleDb

ΣΕ ΑΥΤΉΝ ΤΗΝ ΕΡΓΑΣΊΑ

Περίληψη
Αυτό το άρθρο παρουσιάζει πώς μπορείτε να χρησιμοποιήσετε τη μέθοδο GetSchemaTable του αντικειμένου DataReader στο ADO.NET ανάκτηση πληροφοριών σχήματος στήλη. Ένα άλλο όνομα για το σχήμα μιας στήλης είναι τις ιδιότητες πεδίου. Πληροφορίες σχήματος στήλη περιλαμβάνει τις ακόλουθες πληροφορίες σχετικά με τη στήλη:
  • Όνομα
  • Τύπος δεδομένων
  • Μέγεθος
  • Εάν η στήλη είναι ένα πεδίο πρωτεύοντος κλειδιού
  • Εάν η στήλη είναι ένα πεδίο αυτόματης αρίθμησης (AutoIncrement)
Η μέθοδος GetSchemaTable επιστρέφει μια ιδιότητα DataTable που περιέχει τη διάταξη στηλών για ένα DataReader. Το DataTable περιέχει μία γραμμή για κάθε πεδίο στο σύνολο αποτελεσμάτων. Κάθε στήλη αντιστοιχεί σε μια ιδιότητα του πεδίου στο σύνολο αποτελεσμάτων. Η ιδιότητα ColumnName της στήλης DataTable είναι το όνομα της ιδιότητας του πεδίου, όπως η ιδιότητα ColumnName, τύπο δεδομένων, ColumnSize, IsKeyColumnή IsAutoIncrement . Η τιμή της στήλης DataTable είναι η τιμή της ιδιότητας του πεδίου, όπως η τιμή "όνομα" για την ιδιότητα ColumnName .
Σημείωση Για να λάβετε τις πληροφορίες πρωτεύοντος κλειδιού, συμπεριλαμβανομένου του εάν ένα πεδίο είναι μέρος του πρωτεύοντος κλειδιού και αν πρόκειται για ένα πεδίο AutoIncrement , πρέπει να ορίσετε την τιμή του DataReaderCommandBehaviorCommandBehavior.KeyInfo.

Μπορείτε να χρησιμοποιήσετε τη μέθοδο GetSchemaTable με την υπηρεσία παροχής OLE DB .NET ή η υπηρεσία παροχής .NET SQL. Η μέθοδος OleDbDataReader.GetSchemaTable που αντιστοιχεί στη μέθοδο OLE DB IColumnsRowset::GetColumnsRowset . Η μέθοδος SqlDataReader.GetSchemaTable δεν χρησιμοποιεί ένα επίπεδο της υπηρεσίας παροχής OLE DB.

Του, εκτός εάν χρησιμοποιήσετε τη μέθοδο GetSchemaTable , ρητά του DataReader δεν επιστρέφει σχήμα στήλης. Επίσης, εάν χρησιμοποιείτε το GetSchemaTable για να ανακτήσετε το σχήμα στήλης, δεν μπορείτε να ενημερώσετε το DataReader. Του DataReader ανακτά πάντα μόνο για ανάγνωση, μόνο για προώθηση ροή δεδομένων από μια βάση δεδομένων.

back to the top

Πότε πρέπει να χρησιμοποιείτε τη μέθοδο GetSchemaTable

  • Το αντικείμενο SqlConnection δεν υποστηρίζει την ανάκτηση informationin σχήματος SQL Server μια μέθοδο που είναι ανάλογη με τη μέθοδο GetOleDbSchemaTable του αντικειμένου OleDbConnection . Η μέθοδος GetSchemaTable της κλάσης SqlDataReader παρέχει έναν απλό τρόπο απόκτησης schemainformation στήλης από το SQL Server.
  • Παρόλο που μπορεί να επιστρέψει τη μέθοδο GetOleDbSchemaTable του αντικειμένου OleDbConnection , βάση δεδομένων, πίνακα και στήλης πληροφοριών σχήματος, ίσως διαπιστώσετε ότι τη μέθοδο GetSchemaTable του αντικειμένου DataReader είναι ευκολότερο να χρησιμοποιήσετε εάν θέλετε να ανακτήσετε μόνο πληροφορίες columnschema.
  • Μπορείτε να χρησιμοποιήσετε τη μέθοδο GetSchemaTable για να δημιουργήσετε ένα νέο DataTable με βάση μια υπάρχουσα ιδιότητα DataTable διάταξη ενώ μπορείτε να προσαρμόσετε τα ονόματα στηλών και τα othercolumn χαρακτηριστικά. Για δείγμα κώδικα που παρουσιάζει πώς μπορείτε να χρησιμοποιήσετε το GetSchemaTable για να ορίσετε έναν νέο πίνακα, ανατρέξτε στο θέμα "Visual Studio δείγματα: Fitchand Mather 7.0 εκτέλεση ερωτήματος SQL" στην τεκμηρίωση του Microsoft Visual Studio .NET OnlineHelp.
back to the top

Ανάκτηση στήλη σχήματος με την υπηρεσία παροχής OLE DB .NET

Αυτό το δείγμα παραθέτει σε λίστα τις πληροφορίες σχήματος για τις στήλες (Ιδιότητες πεδίου) του πίνακα "Employees" της βάσης δεδομένων Northwind διακομιστή SQL.

Σημειώστε ότι όταν χρησιμοποιείτε την υπηρεσία παροχής OLE DB .NET, μπορείτε να χρησιμοποιήσετε τη μέθοδο GetSchemaTable του αντικειμένου OleDbDataReader .
  1. Ξεκινήστε το Visual Studio .NET και στη συνέχεια να δημιουργήσετε ένα νέο έργο Visual εφαρμογής #Console C. Class1.CS δημιουργείται από προεπιλογή.
  2. Ανοίξτε το παράθυρο κώδικα για Class1. Επικολλήστε το ακόλουθο codeat το επάνω μέρος του παραθύρου κώδικα πάνω από τη δήλωση χώρου ονομάτων :
    using System.Data;using System.Data.OleDb;					
  3. Στο παράθυρο κώδικα, επικολλήστε τον ακόλουθο κώδικα στη συνάρτηση κυρίως :
    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. Για να τροποποιήσετε τις παραμέτρους της ιδιότητας ConnectionString να συνδεθεί σωστά την Servercomputer του SQL.
  5. Πιέστε το πλήκτρο F5 για να μεταγλωττίσετε και να εκτελεστεί το έργο. Noticethat οι ιδιότητες κάθε πεδίου παρατίθενται στο παράθυρο της κονσόλας.
  6. Πιέστε το πλήκτρο ENTER για να μετακινηθείτε μέσα στη λίστα και τελειώνει το consoleapplication επιστρέψετε το ολοκληρωμένο Environment(IDE) ανάπτυξης.
back to the top

Ανάκτηση στήλη σχήματος με την υπηρεσία παροχής .NET SQL

Αυτό το δείγμα παραθέτει σε λίστα τις πληροφορίες σχήματος για τις στήλες (Ιδιότητες πεδίου) του πίνακα "Employees" της βάσης δεδομένων Northwind διακομιστή SQL.

Σημειώστε ότι όταν χρησιμοποιείτε την υπηρεσία παροχής .NET SQL, μπορείτε να χρησιμοποιήσετε τη μέθοδο GetSchemaTable του αντικειμένου SqlDataReader .
  1. Ξεκινήστε το Visual Studio .NET και δημιουργήστε ένα νέο έργο Visual εφαρμογής #Console C. Class1.CS δημιουργείται από προεπιλογή.
  2. Ανοίξτε το παράθυρο κώδικα για Class1. Επικολλήστε το ακόλουθο codeat το επάνω μέρος του παραθύρου κώδικα πάνω από τη δήλωση χώρου ονομάτων :
    using System.Data;using System.Data.SqlClient;					
  3. Στο παράθυρο κώδικα, επικολλήστε τον ακόλουθο κώδικα στη συνάρτηση κυρίως :
    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. Για να τροποποιήσετε τις παραμέτρους της ιδιότητας ConnectionString να συνδεθεί σωστά την Servercomputer του SQL.
  5. Πατήστε F5 για να μεταγλωττίσετε και να εκτελεστεί το έργο. Παρατηρήστε ότι theproperties κάθε πεδίου παρατίθενται στο παράθυρο της κονσόλας.
  6. Πιέστε το πλήκτρο ENTER για να μετακινηθείτε μέσα στη λίστα, να τερματίσετε το consoleapplication και να επιστρέψετε IDE.
back to the top
Αναφορές
Για περισσότερες πληροφορίες σχετικά με το DataReader και τη μέθοδο GetSchemaTable , ανατρέξτε στα ακόλουθα θέματα στην τεκμηρίωση του Visual Studio .NET ηλεκτρονικής Βοήθειας:
Ανάκτηση δεδομένων μέσω του DataReader

Η μέθοδος IDataReader.GetSchemaTable

ΣΗΜΕΊΩΣΗ: αυτό το θέμα περιλαμβάνει μια πλήρη λίστα των στηλών στο επιστρεφόμενο DataTable.

Η μέθοδος OleDbDataReader.GetSchemaTable

Η μέθοδος SqlDataReader.GetSchemaTable
Για πρόσθετες πληροφορίες σχετικά με τη χρήση του αντικειμένου OleDbConnectionGetOleDbSchemaTable μέθοδος για την ανάκτηση πληροφοριών σχήματος, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
309681 ΔΙΑΔΙΚΑΣΙΕΣ: ανάκτηση πληροφοριών σχήματος χρησιμοποιώντας GetOleDbSchemaTable και Visual C# .NET
back to the top

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

Ιδιότητες

Αναγνωριστικό άρθρου: 310107 - Τελευταία αναθεώρηση: 10/29/2013 00:02:00 - Αναθεώρηση: 3.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 KbMtel
Σχόλια