Vấn đề Duyệt Tất Cả Các Dòng Trên Cơ Sở Dữ Liệu Trong C#

Mình đang bị vướng vấn đề này hơn 1 tuần nay không biết hỏi ai.

Mình nói sơ về cái mình đang viết và vấn đề mình gặp phải.

Mình có 1 form Setting để thêm xóa sửa thiết lập gì đó. 1 form Main sẽ lấy những thiết lập này. Xem những camera nào, những đầu đọc thẻ từ (giống trong siêu thị) nào được đánh dấu là cổng ra. Thì nó chỉ có 1 nhiệm vụ duy nhất là thực hiện hàm startThread2() của mình, trong hàm đó đại khái là update lại dữ liệu rồi check lại thông tin, nếu đúng thì ok cho qua. Ngược lại, nếu là cổng vào thì nó thực hiện 1 hàm khác.

Form đó dạng ntn: Capture.PNG753×265 21.8 KB

Mình viết 2 hàm xử lý gọi là startThread, startThread2.

Mình muốn nó check điều kiện trong database của mình rồi mới thực hiện lệnh đó.

Đây là trong Form Main. Code đại khái như thế này:

SettingBus settingBus = new SettingBus(); //Chứa class để truy vấn tới hàm GetByAll lấy tất cả trong lớp DAO DataTable dt = settingBus.Setting_GetByAll(); //select * from table Setting foreach (DataRow row in dt.Rows) { SettingDTO setting= new SettingDTO(row); if(setting.ChonCong== "Cổng Vào") { startThread(); } if(setting.ChonCong== "Cổng Ra") { startThread2; } }

Thứ 1: Nếu chỉ có 2 dòng dữ liệu nó chạy ok, còn nếu có 4 dòng dữ liệu thì nó chỉ lấy thằng đầu tiên và thằng cuối cùng thôi.

Thứ 2: Nếu mà như vậy, thì nó đọc 1 dòng rồi nó check điều kiện, thực thi cái hàm startThread đó. Nếu có n dòng nó cũng check n điều kiện rồi thực thi n cái startThead đó. Mà trong cái startThread đó mình viết khá dài, đại khái là mình mong muốn là lúc mình check cái đó, chẳng hạn nếu dòng nào là “Cổng Vào” nó sẽ gom tất cả dòng dữ liệu có chứa cái ChonCong = Cổng Vào đó, rồi thực thi 1 lần duy nhất cái startThread luôn.

Mình hỏi hơi dài, mong các bạn giúp đỡ.

Từ khóa » Duyệt Từng Dòng Trong Datatable C#