2009-07-07 16 views
5

Tôi là một lập trình viên thuật toán cấp thấp, và cơ sở dữ liệu không thực sự là điều của tôi - vì vậy đây sẽ là câu hỏi n00b nếu có một câu hỏi.Làm thế nào để bạn có được một giá trị cụ thể từ một đối tượng System.Data.DataTable?

Tôi đang chạy truy vấn SELECT đơn giản thông qua DAO của nhóm phát triển của chúng tôi. DAO trả về một đối tượng System.Data.DataTable chứa các kết quả của truy vấn. Điều này là tất cả làm việc tốt cho đến nay.

Vấn đề tôi đã gặp phải bây giờ:
Tôi cần kéo giá trị ra khỏi một trong các trường của hàng đầu tiên trong DataTable - và tôi không biết bắt đầu từ đâu. Microsoft rất bối rối về điều này! Arrrg!

Mọi lời khuyên sẽ được đánh giá cao. Tôi không cung cấp bất kỳ mẫu mã nào, bởi vì tôi tin rằng ngữ cảnh là không cần thiết ở đây. Tôi giả định rằng tất cả các đối tượng DataTable hoạt động theo cùng một cách, bất kể bạn chạy các truy vấn của bạn như thế nào - và do đó bất kỳ thông tin bổ sung nào cũng sẽ làm cho điều này trở nên khó hiểu hơn đối với mọi người.

Trả lời

7

Chỉ cần những điều cơ bản ....

yourDataTable.Rows[ndx][column] 

nơi ndx là số hàng (bắt đầu từ 0) nơi cột có thể là một đối tượng DataColumn, một chỉ số (cột n), hoặc tên của cột (một chuỗi)

yourDataTable.Rows[0][0] 
yourDataTable.Rows[0][ColumObject] 
yourDataTable.Rows[0]["ColumnName"] 

để kiểm tra null, so sánh với DBNull.Value;

+1

Cảm ơn rất nhiều! Đây là hoàn hảo. – Giffyguy

1

Ý của bạn là table.Rows[0]["MyColumnName"]?

0

Nếu bạn không muốn trích xuất hàng có ID = 5 (nghĩa là khóa chính) và nhận giá trị của nó cho Cột được gọi là Mô tả.

DataRow dr = myDataTable.Rows.Find(5); 
String s = dr["Description"].ToString();