2013-02-21 49 views
5

Chỉ mới bắt đầu phát xung quanh với dữ liệu và LINQ ngay hôm nay. Tôi có một datatable có được một danh sách các tên từ cơ sở dữ liệu SQL. Tôi đang tìm cách trả về một tên cụ thể từ dt bằng LINQ.LINQ Chọn Từ DataTable

Tôi đã thử mã sau đây mà không thành công. Có điều gì đó mà tôi đang làm sai với mã.

dt trả về danh sách đầy đủ các tên tôi chỉ đang tìm cách giảm tên xuống một tên. Có một cái tên trong cơ sở dữ liệu cuộc phiêu lưu được gọi là Blade tôi đang cố gắng để hiển thị điều này chỉ.

DataTable dt = DAL.GetNames(); 
     try 
     { 
      var q = from myrow in dt.AsEnumerable() 
        where myrow.Field<string>("Name") =="Blade" 
        select myrow; 
      dataGridView1.DataSource = q; 
     } 

Tôi đã cố gắng thay thế == bằng .equals. Tôi hoàn toàn mới với khái niệm sử dụng truy vấn tích hợp Ngôn ngữ.

khi tôi chạy ghi chú mã xảy ra, tôi không nhận được bất kỳ lỗi nào ect không trả lại dữ liệu.

+0

Điều gì xảy ra khi bạn chạy mã này? – Stu

+0

Ngoài ra, tại sao bạn sử dụng nó thay vì LINQ2SQL thực tế? – Stu

+0

@Stu: Bạn sử dụng LINQ với DataTable như thế nào? – IAbstract

Trả lời

6

Bạn đang xác định truy vấn của mình nhưng không thực sự chạy truy vấn đó.

dòng của bạn:

dataGridView1.DataSource = q; 

Nhu cầu là:

dataGridView1.DataSource = q.AsDataView(); 
+0

Cảm ơn rất nhiều – Inkey

+0

@ lnkey nếu câu trả lời là chính xác sau đó đánh dấu nó là chính xác – Chief