L?I: Các phương pháp GetSchemaTable c?a đ?i tư?ng SqlDataReader tr? v? sai c?t tên

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 307512 - Xem s?n ph?m mà bài này áp d?ng vào.
Bài vi?t này đ? đư?c lưu tr?. Bài vi?t đư?c cung c?p "nguyên tr?ng" và s? không c?n đư?c c?p nh?t n?a.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TRI?U CH?NG

Các GetSchemaTable phương pháp c?a các SqlDataReader đ?i tư?ng tr? v? c?t, các BaseServerNameBaseCatalogName b?t đ?ng s?n. Tuy nhiên,SqlDataReader.GetSchemaTable ch? c?n tr? l?i BaseCatalogName.

NGUYÊN NHÂN

Thêm vào các c?t đư?c mô t? trong các Microsoft.NET Framework l?p thư vi?n b? phát tri?n ph?n m?m (SDK) tài li?u hư?ng d?n, SqlDataReader.GetSchemaTable tr? v? m?t c?t tên BaseServerName. BaseServerName là tên c?a Microsoft SQL Server ví d? mà SqlDataReader s? d?ng. BaseServerName xu?t hi?n trư?c khi BaseCatalogName trong các DataTable mô t? các siêu d? li?u c?t.

GI?I PHÁP

B?i v? v?n đ? này không x?y ra v?i các OleDbDataReader đ?i tư?ng, b?n có th? s? d?ng OleDbDataReader đ? có đư?c các SchemaTable thông tin.

T?NH TR?NG

Microsoft đ? xác nh?n r?ng đây là m?t l?i trong Microsoft s?n ph?m đư?c li?t kê ? đ?u bài vi?t này.

THÔNG TIN THÊM

Các bư?c đ? t?o l?i hành vi

B?ng cách s? d?ng Visual Basic.NET

  1. Microsoft Visual Studio m?.NET, và t?o ra m?t th? giác m?i Cơ b?n ?ng d?ng giao di?n đi?u khi?n d? án.
  2. Thêm m? sau đây trên mô-đun Module1:
    Imports System.Data.SqlClient
    					
  3. Thêm m? sau vào th? t?c Sub Main():
    Dim cnNwind As New SqlConnection("Data Source=ServerName;user id=username;" & _
                                     "Password=password;Initial Catalog=Northwind;")
            Dim cmd As New SqlCommand("Select * from Customers", cnNwind)
            cnNwind.open()
    
            Dim dr As SqlDataReader
            dr = cmd.ExecuteReader
            Dim i As Integer
            For i = 0 To dr.GetSchemaTable.Columns.Count - 1
    
            System.Console.WriteLine(dr.GetSchemaTable.Columns(i).ColumnName)
    
            Next
            System.Console.Read()        
            dr.Close()
            cnNwind.Close()
    					
  4. S?a đ?i các chu?i k?t n?i như là thích h?p cho b?n Microsoft SQL Server.
  5. B?m phím F5 đ? biên d?ch và ch?y các d? án. Thông báo mà t?t c? các c?t c?a các SchemaTable xu?t hi?n trong c?a s? giao di?n đi?u khi?n. Ngoài ra, nh?n th?y r?ng BaseServerName c?ng xu?t hi?n trư?c khi BaseCatalogName.

S? d?ng Visual C#.NET

  1. B?t đ?u Visual Studio.NET, và t?o ra m?t m?i Visual C#.NET D? án ?ng d?ng giao di?n đi?u khi?n.
  2. Thêm m? sau vào Class1 trư?c khi các ConsoleApplication1 không gian tên:
    using System.Data;
    using System.Data.SqlClient;
    					
  3. Thêm m? sau vào static void Main (string] th? t?c args):
    SqlConnection cnNwind = new SqlConnection("Data Source=servername;user id=username;
                                              Password=password;Initial Catalog=Northwind;");
            SqlCommand cmd = new SqlCommand("Select * from Customers", cnNwind);
    	
            cnNwind.Open();
    
            SqlDataReader dr ;
    
    			dr = cmd.ExecuteReader();
    			DataTable dt = dr.GetSchemaTable();
    				for (int i=0;i<dt.Columns.Count;i++)
    				{
    					System.Console.WriteLine(dt.Columns[i]);
    				}
    				System.Console.Read();
    
                                    dr.Close();
                                    cnNwind.Close();
    			
    					
  4. S?a đ?i các chu?i k?t n?i như là thích h?p cho SQL c?a b?n Máy tính ph?c v?.
  5. B?m phím F5 đ? biên d?ch và ch?y các d? án. Thông báo mà t?t c? các c?t c?a các SchemaTable xu?t hi?n trong c?a s? giao di?n đi?u khi?n. Ngoài ra, nh?n th?y r?ng BaseServerName c?ng xu?t hi?n trư?c khi BaseCatalogName.

B?ng cách s? d?ng Visual c + +.NET

  1. B?t đ?u Visual Studio.NET, và t?o ra m?t Visual C++.NET Qu?n l? d? án ?ng d?ng.
  2. Thêm m? sau đây trư?c khi int _tmain(void) th? t?c:
    #using <System.dll>
    #using <System.Data.dll>
    
    using namespace System;
    using namespace System::Data;
    using namespace System::Data::SqlClient ;
    					
  3. Thêm m? sau vào th? t?c-tmain(void) int:
    SqlConnection *cnNwind = new SqlConnection("Data Source=servername;user id=username;
                                               Password=password;Initial Catalog=Northwind;");
        SqlCommand *cmd = new SqlCommand("Select * from Customers", cnNwind);
    		 cnNwind->Open();
    
            SqlDataReader *dr ;
    		
    			dr = cmd->ExecuteReader();
    			DataTable *dt = dr->GetSchemaTable();
    			int i;
    			for (i=0;i<dt->Columns->Count;i++)
    				{
                                     Console::WriteLine(dt->Columns->Item [i]);
    				}
    				System::Console::Read();
    				dr->Close();
    				cnNwind->Close();
    			
                                    return 0;
    					
  4. S?a đ?i các chu?i k?t n?i như là thích h?p cho SQL c?a b?n Máy tính ph?c v?.
  5. B?m phím F5 đ? biên d?ch và ch?y các d? án. Thông báo mà t?t c? các c?t c?a các SchemaTable xu?t hi?n trong c?a s? giao di?n đi?u khi?n. Ngoài ra, nh?n th?y r?ng BaseServerName c?ng xu?t hi?n trư?c khi BaseCatalogName.

S? d?ng Visual J#.NET

  1. Microsoft Visual Studio m?.NET, và t?o ra m?t th? giác m?i J# giao di?n đi?u khi?n ?ng d?ng d? án.
  2. Thêm m? sau đây đ? class1:
    import System.Data.*;
    import System.Data.SqlClient.*;
    					
  3. Thêm m? sau vào chính:
    	SqlConnection cnNwind = new SqlConnection("Data Source=servername;user id=username;Password=password;Initial Catalog=Northwind;");
    		SqlCommand cmd = new SqlCommand("Select * from Customers", cnNwind);
    	
    		cnNwind.Open();
    
    		SqlDataReader dr ;
    
    		dr = cmd.ExecuteReader();
    		DataTable dt = dr.GetSchemaTable();
    		for (int i = 0; i < dt.get_Columns().get_Count(); i++)
    		{
    			DataColumnCollection dcc = dt.get_Columns();
    			System.Console.WriteLine(dcc.get_Item(i));
    		}
    		System.Console.Read();
    	
    		dr.Close();
    		cnNwind.Close();
    					
  4. S?a đ?i các chu?i k?t n?i như là thích h?p cho SQL c?a b?n Máy tính ph?c v?.
  5. B?m phím F5 đ? biên d?ch và ch?y các d? án. Thông báo mà t?t c? các c?t c?a các SchemaTable xu?t hi?n trong c?a s? giao di?n đi?u khi?n. Ngoài ra, nh?n th?y r?ng BaseServerName c?ng xu?t hi?n trư?c khi BaseCatalogName.

Thu?c tính

ID c?a bài: 307512 - L?n xem xét sau cùng: 21 Tháng Hai 2014 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft ADO.NET 2.0
  • Microsoft ADO.NET 1.1
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual J# .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 2.0
  • Microsoft Visual Basic 2005
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual J# 2005 Express Edition
T? khóa: 
kbnosurvey kbarchive kbtshoot kbvs2002sp1sweep kbbug kbpending kbreadme kbsqlclient kbsystemdata kbmt KB307512 KbMtvi
Máy d?ch
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:307512

Cung cấp Phản hồi

 

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