phép nói rằng tôi có một bảng trong SQLServer tên MyTableCách lấy tên cột của bảng khi chạy trong C#?
ID FirstName LastName
1 Harry Dan
2 Maria Vicente
3 Joe Martin
Bây giờ nếu tôi phải chèn thêm bất kỳ dữ liệu trong bảng, tôi sẽ chỉ đơn giản là bắn Insert Query như thế này
INSERT INTO MyTable (ID, FirstName, LastName) VALUES (4, Smith, Dan);
Nhưng nếu tôi don không biết tên cột trước, tôi chỉ biết tên bảng. Sau đó, có một cách để có được tên cột của bảng tại thời gian chạy?
Bạn đang chèn dữ liệu vào các bảng mà bạn không biết cấu trúc cho đến khi thời gian chạy? Âm thanh như một kịch bản xấu IMHO. – Jake1164
@ Jake1164, điều này khá phổ biến đối với các hệ thống bị ngắt kết nối hoàn toàn. Hãy xem xét một ví dụ nơi bạn có một kho dữ liệu tập trung được sử dụng như một người hỗ trợ để chia sẻ dữ liệu giữa các dịch vụ phân tán theo địa lý mà bạn không biết gì về nó. Bây giờ hãy xem xét bạn có thể gửi một đối tượng, sử dụng các thuộc tính của nó và xây dựng một câu lệnh 'INSERT' cho một bảng mà bạn không biết gì cả - tất cả những gì bạn biết là các thuộc tính khớp với lược đồ và bảng được ** giả định ** ở đó . *** Trong ngắn hạn, tôi có thể nghĩ về nhiều tình huống mà bạn không biết về lược đồ *** –
Ngoài tất cả các câu trả lời về truy vấn siêu dữ liệu hệ thống, nếu bạn thích giải pháp .NET thuần túy thì bạn có thể sử dụng một đối tượng [Bảng SMO '] (http://msdn.microsoft.com/en-us/library/ms220470.aspx) và kiểm tra bộ sưu tập' Cột '. – Pondlife