Thật dễ dàng đủ cho tôi đọc qua một SQL Server nhỏ 2005 bảng như thế này:Cần phải lặp thông qua bảng hàng SQL, cùng một lúc (bảng quá lớn để sử dụng adapter.Fill)
string cmdText = "select * from myTable";
SqlDataAdapter adapter = new SqlDataAdapter(cmdText, connection);
DataTable table = new DataTable();
adapter.Fill(table);
Thật không may , phương pháp này xuất hiện để tải toàn bộ bảng vào bộ nhớ, mà chỉ đơn giản là sẽ không làm việc với các bảng khổng lồ tôi đang làm việc với.
Tôi muốn có thể lặp qua bảng một hàng tại một thời điểm, sao cho chỉ một hàng cần có trong bộ nhớ cùng một lúc. Một cái gì đó dọc theo dòng:
foreach (DataRow row in rowIteratorObject)
{
// do something using the row
// current row goes out of scope and is no longer in memory
}
Loại tương tự như cách bạn có thể sử dụng StreamReader để đối phó với một file văn bản một dòng cùng một lúc, thay vì đọc nó tất cả trong cùng một lúc. Có ai biết một cách để làm điều này với hàng bảng (hoặc, nếu tôi sủa lên cây sai, một giải pháp thay thế)?
Thanks for the tip! Tôi khá chắc chắn rằng sẽ có một cách .NET nguyên bản để làm điều này, nhưng thật khó để tìm kiếm một khái niệm cho Google. Tôi cần một tên lớp để bắt đầu điều tra! – Brandon