Tôi có sẵn một DataTable có chứa hàng nghìn hàng. Có một cột được gọi là EmpID có chứa '0' cho một số hàng. Tôi muốn loại bỏ chúng từ DataTable hiện tại của tôi và muốn tạo một DataTable chính xác mới. Tôi không thể đi từng hàng kiểm tra nó vì nó chứa một lượng lớn dữ liệu. Hãy cho tôi một đề nghị để khắc phục vấn đề này.Làm cách nào để xóa các hàng khỏi bảng dữ liệu khổng lồ mà không cần lặp lại nó?
Trả lời
cách tốt nhất là để lọc nó tại nguồn (nếu có thể) - vì vậy nếu bạn đang tạo nó từ một db, loại trừ tất cả 0 giá trị trong truy vấn sql của bạn tự sử dụng một nơi
bắt đầu. net 2.0, ms tăng cường logic lọc trên datatable đến một mức độ lớn. vì vậy nếu bạn sử dụng dataview (trên đầu của datatable của bạn) và thêm mệnh đề where trong đó và thêm một số loại chỉ số thời gian chạy trên lĩnh vực này, nó sẽ cung cấp cho bạn kết quả mong muốn mà không looping trên tất cả hồ sơ
Bạn có thể sử dụng DataTable.Select("EmpID <> 0")
. Điều này sẽ trả về một mảng DataRows mà bạn có thể tạo DataTable mới của mình nếu cần.
Không phải trước tiên có thể chọn các hàng có EmpID = 0 và sau đó chỉ lặp lại các hàng này?
DataTable newTable = new DataTable();
foreach (DataRow dr in oldTable.Select("EmpID = '0'")) {
newTable.Rows.Add(dr);
oldTable.Rows.Remove(dr);
}
Tôi đã bỏ lỡ rằng bạn cũng muốn di chuyển các hàng sang một bảng mới, đã cập nhật câu trả lời – Ozzy
Bạn có thể thử
DataRow [] temp = table.Select ("EmpID = '0'");
foreach(DataRow dr in temp) { table.Rows.Remove(dr); }
table.acceptchanges();
- 1. R: làm thế nào để rbind hai khung dữ liệu khổng lồ mà không cần hết bộ nhớ
- 2. sao chép dữ liệu ra khỏi một bảng sản xuất khổng lồ
- 3. Làm cách nào để nhập * khối dữ liệu khổng lồ vào PostgreSQL?
- 4. Xóa các hàng khỏi bảng dữ liệu WPF
- 5. Làm cách nào để xóa dữ liệu khỏi nhiều bảng?
- 6. Tôi cần biết gì về làm việc với cơ sở dữ liệu khổng lồ?
- 7. Vẽ các tệp dữ liệu khổng lồ trong R?
- 8. Lưu trữ dữ liệu khổng lồ trong SQLite
- 9. Nhập dữ liệu khổng lồ nhanh hơn Get ["raggedmatrix.mx"]?
- 10. Cách tốt nhất để xóa phần tử khỏi mảng mà không cần sắp xếp lại nó
- 11. Nhập dữ liệu XML khổng lồ (> 1Gb) vào SQL Server 2008 hàng ngày
- 12. Làm cách nào để tăng tốc truy vấn đối với bảng kho dữ liệu khổng lồ với dữ liệu có hiệu lực ngày?
- 13. cách đổi tên bảng mà không cần tạo lại nó
- 14. Làm cách nào để xóa khỏi cơ sở dữ liệu?
- 15. Tạo tệp PDF lấy dữ liệu khổng lồ từ MySQL bằng cách sử dụng PHP
- 16. Làm cách nào để tăng tốc độ xóa khỏi bảng cơ sở dữ liệu lớn?
- 17. Ruby Parallel/Multithread Programming để đọc cơ sở dữ liệu khổng lồ
- 18. XML khổng lồ ở Clojure
- 19. Làm cách nào để so sánh hai bảng và xóa các hàng trùng lặp trong SQL?
- 20. Làm cách nào để khôi phục các hàng đã xóa khỏi bảng máy chủ SQL?
- 21. Xóa tất cả các hàng trong bảng khỏi bảng cơ sở dữ liệu SQLite
- 22. Xóa dữ liệu khỏi tất cả các bảng trong MYSQL
- 23. Xử lý các Blobs khổng lồ trong MySQL?
- 24. Làm cách nào để xóa các hàng khỏi bảng bằng truy vấn SQLAlchemy mà không có ORM?
- 25. Làm cách nào để xóa dữ liệu cũ khỏi logcat?
- 26. Cách tốt nhất để xóa mục nhập trùng lặp khỏi bảng dữ liệu
- 27. Cách hiệu quả nhất để xóa tất cả các hàng trùng lặp khỏi bảng?
- 28. cách tìm kiếm một từ đã cho từ một cơ sở dữ liệu khổng lồ?
- 29. Làm cách nào để xóa các hàng khỏi DataGridView?
- 30. Python đôi lỗi miễn phí cho các tập dữ liệu khổng lồ
tôi đánh giá cao câu trả lời của bạn vì đã cho tôi ý tưởng về dataview. Cảm ơn. Tôi sẽ thử cái này và quay lại u. – NayeemKhan