2012-06-22 26 views
13

Tôi muốn để có được danh sách các cột của một bảng sử dụng GetSchema phương pháp trong ADO.Net, mã của tôi là:Nhận Cột của một Table bằng phương pháp GetSchema()

var dtCols = con.GetSchema("Columns", new[] { "DBName", "TableName" }); 

Và tôi nhận được một sản phẩm nào DataTable, những gì là vấn đề?

+1

đâm trong bóng tối, nhưng cố gắng 'var dtCols = con.GetSchema ("Cột", mới [] { "dbname", null, "TableName"}); ' – Matthew

+0

Cảm ơn Matthew đã hoạt động, Vui lòng viết giải pháp của bạn làm Câu trả lời. –

Trả lời

22

Bạn phải chỉ định tham số cho giới hạn "chủ sở hữu".

var dtCols = con.GetSchema("Columns", new[] { "DBName", null, "TableName" }); 
0

cả các câu trả lời có thể được khái quát hóa một chút với:

dtCols = con.GetSchema("Columns", new[] {con.DataSource, null, "TableName"});

này được giả định rằng "TableName" là tên của bảng mà bạn muốn schema cho.

+0

Có vẻ như bạn đang yêu cầu làm rõ? Các câu trả lời được dành riêng để trả lời câu hỏi, không phải để bình luận hoặc tìm kiếm sự trợ giúp. – rayryeng

+0

Nếu kết nối của bạn đã được kết nối với cơ sở dữ liệu, bạn cũng có thể chỉ định một null cho tên cơ sở dữ liệu thay vì con.DataSource. – Scott

0

Tôi đã có một vấn đề tương tự, các hoạt động sau đây ..

using(SqlCommand command = new SqlCommand(sqlText, con)) { 
    var sqlReader = command.ExecuteReader(); 
    var a = sqlReader.GetColumnSchema();       
} 
Các vấn đề liên quan