Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để lấy cột Schema bằng cách sử dụng các phương pháp GetSchemaTable DataReader và Visual C#.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 310107
Đối với một Microsoft Visual Basic.NET Phiên bản này viết, xem 310108.
Đối với một Microsoft Visual C++ .NET Phiên bản của bài viết này, xem 309683.

Bài viết này đề cập Microsoft sau.Không gian tên thư viện lớp của NET Framework:
  • System.Data.OleDb

TRONG NHIỆM VỤ NÀY

TÓM TẮT
Bài viết này chứng tỏ làm thế nào để sử dụng phương pháp GetSchemaTable của đối tượng DataReader trong ADO.NET truy xuất thông tin giản đồ cột. Khác tên cho lược đồ một cột là lĩnh vực thuộc tính của nó. Cột giản đồ thông tin bao gồm các thông tin sau về cột:
  • Tên
  • kiểu dữ liệu
  • Kích thước
  • Cho dù các cột là một lĩnh vực quan trọng tiểu học
  • Cho dù các cột là một autonumber (AutoIncrement) lĩnh vực
Phương pháp GetSchemaTable trả về một tài sản DataTable có chứa giản đồ cột cho một DataReader. Các DataTable có một hàng cho mỗi lĩnh vực trong resultset. Mỗi cột bản đồ cho một tài sản của trường trong resultset. Bất động sản ColumnName cột DataTable là một tài sản của trường, chẳng hạn như các tài sản ColumnName, DataType, ColumnSize, IsKeyColumnhoặc IsAutoIncrement . Giá trị của cột DataTable là giá trị tài sản của trường, chẳng hạn như giá trị thứ cho bất động sản ColumnName .
Lưu ý Để có được các thông tin quan trọng chính, bao gồm cả cho dù một lĩnh vực là một phần của khoá chính và cho dù đó là một lĩnh vực AutoIncrement , bạn phải thiết lập giá trị CommandBehavior của DataReader để CommandBehavior.KeyInfo.

Bạn có thể sử dụng các phương pháp GetSchemaTable với một trong hai các OLE DB.NET cung cấp hoặc SQL.NET Nhà cung cấp. OleDbDataReader.GetSchemaTable phương pháp ánh xạ tới phương pháp OLE DB IColumnsRowset::GetColumnsRowset . Phương pháp SqlDataReader.GetSchemaTable không sử dụng một lớp OLE DB cung cấp.

Của các lưu ý, trừ khi bạn rõ ràng sử dụng phương pháp GetSchemaTable , DataReader không trở về giản đồ cột. Ngoài ra, nếu bạn sử dụng GetSchemaTable để lấy giản đồ cột, bạn không thể cập nhật DataReader. DataReader luôn luôn lấy một dòng chỉ-đọc, chỉ có chuyển tiếp dữ liệu từ một bộ máy cơ sở dữ liệu.

back to the top

Khi sử dụng các phương pháp GetSchemaTable

  • SqlConnection đối tượng không hỗ trợ truy xuất thông tin máy chủ SQL lược đồ trong một phương pháp tương tự như phương pháp GetOleDbSchemaTable của đối tượng OleDbConnection . Phương pháp GetSchemaTableSqlDataReader lớp cung cấp một cách đơn giản để có được cột lược đồ thông tin từ máy chủ SQL.
  • Mặc dù phương pháp GetOleDbSchemaTable của đối tượng OleDbConnection có thể trở lại bộ máy cơ sở dữ liệu, bảng và cột giản đồ thông tin, bạn có thể thấy rằng phương pháp GetSchemaTable của đối tượng DataReader là dễ dàng hơn để sử dụng nếu bạn muốn truy xuất chỉ cột giản đồ thông tin.
  • Bạn có thể sử dụng các phương pháp GetSchemaTable để tạo ra một mới DataTable dựa trên lược đồ một hiện có DataTable của tài sản trong khi bạn tuỳ chỉnh các tên cột và khác thuộc cột được tính. Đối với mẫu mã đó chứng tỏ làm thế nào để sử dụng GetSchemaTable để xác định một bảng mới, tham khảo các "Visual Studio mẫu: Fitch và Mather 7,0 chạy SQL Query"chủ đề trong Microsoft Visual Studio.NET trực tuyến Giúp đỡ tài liệu hướng dẫn.
back to the top

Lấy các cột Schema với OLE DB.Nhà cung cấp mạng

Mẫu này liệt kê các thông tin đồ cho cột (lĩnh vực thuộc tính) của nhân viên bàn trong SQL Server Northwind bộ máy cơ sở dữ liệu.

Lưu ý rằng khi bạn sử dụng các OLE DB.NET nhà cung cấp, bạn sử dụng phương pháp GetSchemaTable của đối tượng OleDbDataReader .
  1. Bắt đầu Visual Studio.NET, và sau đó tạo ra một mới Visual C# Dự án ứng dụng giao diện điều khiển. Class1.CS được tạo ra theo mặc định.
  2. Mở cửa sổ mã cho Class1. Dán đoạn mã sau ở trên cùng của cửa sổ Code ở trên tuyên bố không gian tên :
    using System.Data;using System.Data.OleDb;					
  3. Trong cửa sổ mã, dán đoạn mã sau trong các chức năng chính :
    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. Sửa đổi các thông số của các tài sản ConnectionString để đúng cách kết nối với máy chủ SQL của bạn máy tính.
  5. Bấm phím F5 để biên dịch bật lên và chạy các dự án. Thông báo rằng các tính chất của từng lĩnh vực được liệt kê trong cửa sổ giao diện điều khiển.
  6. Hãy bấm ENTER để di chuyển qua danh sách, kết thúc bàn điều khiển ứng dụng, và quay trở lại môi trường phát triển tích hợp (IDE).
back to the top

Lấy các cột Schema với SQL.Nhà cung cấp mạng

Mẫu này liệt kê các thông tin đồ cho cột (lĩnh vực thuộc tính) của nhân viên bàn trong SQL Server Northwind bộ máy cơ sở dữ liệu.

Lưu ý rằng khi bạn sử dụng SQL.NET nhà cung cấp, bạn sử dụng các phương pháp GetSchemaTable của đối tượng SqlDataReader .
  1. Bắt đầu Visual Studio.NET, và tạo ra một mới Visual C# Dự án ứng dụng giao diện điều khiển. Class1.CS được tạo ra theo mặc định.
  2. Mở cửa sổ mã cho Class1. Dán đoạn mã sau ở trên cùng của cửa sổ Code ở trên tuyên bố không gian tên :
    using System.Data;using System.Data.SqlClient;					
  3. Trong cửa sổ mã, dán đoạn mã sau trong các chức năng chính :
    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. Sửa đổi các thông số của các tài sản ConnectionString để đúng cách kết nối với máy chủ SQL của bạn máy tính.
  5. Nhấn F5 để biên dịch bật lên và chạy các dự án. Nhận thấy rằng các thuộc tính của từng lĩnh vực được liệt kê trong cửa sổ giao diện điều khiển.
  6. Hãy bấm ENTER để di chuyển qua danh sách, kết thúc bàn điều khiển ứng dụng, và trở về IDE.
back to the top
THAM KHẢO
Để biết thêm chi tiết về DataReader và các phương pháp GetSchemaTable , xem các chủ đề sau trong Visual Studio.NET trực tuyến Tài liệu trợ giúp: Để thêm thông tin về việc sử dụng của đối tượng OleDbConnectionGetOleDbSchemaTable phương pháp để lấy các lược đồ thông tin, bấm số bài viết dưới đây để xem bài viết trong cơ sở kiến thức Microsoft:
309681 Làm thế nào để lấy thông tin giản đồ bằng cách sử dụng GetOleDbSchemaTable và Visual C#.NET
back to the top

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 310107 - Xem lại Lần cuối: 06/12/2012 06:19:00 - Bản sửa đổi: 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 KbMtvi
Phản hồi