Як отримати стовпець схеми за допомогою методу GetSchemaTable DataReader і Visual C#.NET

Переклади статей Переклади статей
Номер статті: 310107 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

На цій сторінці

ПІДСУМКИ

У даній статті описується сценарій виконання GetSchemaTable методом DataReader об'єкта ADO.МЕРЕЖІ, щоб отримати відомості про схему впорядкована стопка карт з чергуванням кольорів. Інший ім'я у стовпці схеми є її властивості поля. Відомості про схему впорядкована стопка карт з чергуванням кольорів включає такі відомості про стовпця:
  • Ім’я
  • тип даних
  • Розмір
  • Чи стовпці є поле первинного ключа
  • Чи стовпець не «Автонумерація» (AutoIncrement) поле
GetSchemaTable метод повертає DataTable властивість, яка містить стовпець схеми для DataReader. DataTable містить один рядок для кожного поля у resultset. Кожен стовпець карти до властивості поля в на resultset. ColumnName майна, DataTable впорядкована стопка карт з чергуванням кольорів — ім'я властивості поля, такі як ColumnName, тип даних, ColumnSize, IsKeyColumnабо IsAutoIncrement власності. Значення впорядкована стопка карт з чергуванням кольорів, DataTable є значення властивості поля, наприклад, для властивості ColumnName значення «ім'я» .
Примітка Щоб отримати основну ключову інформацію, у тому числі чи є поле частина первинного ключа, і це поле AutoIncrement , ви повинні встановити значення CommandBehaviorDataReaderCommandBehavior.KeyInfo.

Ви можете використовувати GetSchemaTable метод з будь-якого база даних OLE.постачальник послуг оренди застосунків МЕРЕЖІ або SQL.NET Постачальника послуг. Метод OleDbDataReader.GetSchemaTable карт база даних OLE IColumnsRowset::GetColumnsRowset методу. Методу SqlDataReader.GetSchemaTable не підтримує база даних OLE провайдера-шар.

Зверніть увагу, Якщо ви явно використовувати GetSchemaTable метод, DataReader не повертає впорядкована стопка карт з чергуванням кольорів схеми. Також, якщо ви використовуєте GetSchemaTable отримати стовпець схеми, ви не зможете оновлювати DataReader. DataReader завжди отримує лише для читання, вперед тільки потоку даних від на база даних.

Коли слід використовувати метод GetSchemaTable

  • SqlConnection об'єкт не підтримує отримання SQL Server відомості про схему у методі, аналогічний GetOleDbSchemaTable методом OleDbConnection об'єкта. GetSchemaTable метод класу SqlDataReader забезпечує простий спосіб отримати стовпець схеми відомості з SQL Server.
  • Хоча GetOleDbSchemaTable методом OleDbConnection об'єкта можна повернутися до бази даних, таблиці та відомості про схему впорядкована стопка карт з чергуванням кольорів Ви можете виявити, що GetSchemaTable методом DataReader об'єкта є легше використовувати, якщо потрібно отримати лише стовпці відомості про схему.
  • Можна використовувати GetSchemaTable метод для створення нового DataTable , на основі схеми до існуючих DataTable властивості під Вільний час настроювання імена стовпців та інші атрибути впорядкована стопка карт з чергуванням кольорів. Приклади коду, що демонструє, як використовувати GetSchemaTable для визначення нової таблиці можна знайти в "Visual Studio зразки: Fitch і Мазер З 7.0 виконати запит SQL"Тема в Microsoft Visual Studio.МЕРЕЖІ Інтернет Допомогти документації.

Отримати стовпець схеми з база даних OLE.постачальник послуг оренди застосунків МЕРЕЖІ

Цей приклад містить відомості про схему для стовпців (полів Властивості) з таблиці Працівники» в SQL Server «Борей» база даних.

Зверніть увагу, що під Вільний час сценарій виконання база даних OLE.постачальник послуг оренди застосунків МЕРЕЖІ, ви використовуєте GetSchemaTable методом OleDbDataReader об'єкта.
  1. Почати Visual Studio.ЧИСТИЙ а потім створіть на новий Visual C# Консоль застосування проекту. Class1.CS створюється за промовчанням.
  2. Відкрити вікно коду для Class1. Вставте наступний код у верхній частині вікна код вище декларації простору імен :
    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. Змініть параметри належним чином підключення до SQL Server, властивість ConnectionString комп’ютер-зразок.
  5. Натисніть клавішу F5 скомпілювати і запустити проект. протокол IMAP що властивості кожного поля відображаються у вікні консолі.
  6. Натисніть клавішу ENTER, щоб прокрутити список, кінець консолі програми та повертатися до інтегроване середовище розробки (IDE).

Отримати стовпець схеми з SQL.постачальник послуг оренди застосунків МЕРЕЖІ

Цей приклад містить відомості про схему для стовпців (полів Властивості) з таблиці Працівники» в SQL Server «Борей» база даних.

Зверніть увагу, що під Вільний час сценарій виконання SQL.постачальник послуг оренди застосунків МЕРЕЖІ, ви використовувати GetSchemaTable метод SqlDataReader об'єкта.
  1. Почати Visual Studio.ЧИСТИЙ і створити на новий Visual C# Консоль застосування проекту. Class1.CS створюється за промовчанням.
  2. Відкрити вікно коду для Class1. Вставте наступний код у верхній частині вікна код вище декларації простору імен :
    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. Змініть параметри належним чином підключення до SQL Server, властивість ConnectionString комп’ютер-зразок.
  5. Натисніть клавішу F5, скомпілювати і запустити проект. Зверніть увагу, що на властивості кожного поля відображаються у вікні консолі.
  6. Натисніть клавішу ENTER, щоб прокрутити список, кінець консолі програми та повертатися до IDE.

ПОСИЛАННЯ

Щоб отримати додаткові відомості про DataReader і GetSchemaTable метод зверніться до таких розділів в Visual Studio.МЕРЕЖІ Інтернет Довідкову інформацію:
Отримання даних за допомогою в DataReader

IDataReader.GetSchemaTable метод

Примітка: цей розділ включає в себе повний список стовпців у на повернуті DataTable.

OleDbDataReader.GetSchemaTable метод

SqlDataReader.GetSchemaTable метод
Щоб отримати додаткові відомості про сценарій виконання GetOleDbSchemaTable методом OleDbConnection об'єкта, щоб отримати відомості про схему клацніть номер статті Щоб переглянути статтю в базі знань Microsoft Knowledge Base:
309681 Як отримати відомості про схему за допомогою GetOleDbSchemaTable і Visual C#.NET

Властивості

Номер статті: 310107 - Востаннє переглянуто: 12 червня 2012 р. - Редакція: 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 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 310107

Надіслати відгук

 

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