Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
415 KB
Nội dung
Chương SẮP XẾP, TÌM KIẾM, LỌC DỮ LIỆU Nội dung Sắp xếp, tìm kiếm, lọc DataTable Lớp DataRelation Lớp DataView Sắp xếp, tìm kiếm, lọc DataTable Tìm dòng Chọn số dòng Cột tính toán Hàm nhóm cột Sắp xếp, tìm kiếm, lọc DataTable Tìm dòng “Tìm dòng”: Là lấy thông tin chi tiết ID hay khóa Ví dụ: • Tìm thông tin chi tiết khách hàng có mã khách hàng cho trước • Tìm thông tin chi tiết hóa đơn có mã hóa đơn cho trước Sắp xếp, tìm kiếm, lọc DataTable Tìm dòng Database: Thực thi câu lệnh SQL Select … From tenBang Where CotKhoaChinh=giatri DataTable: Dùng phương thức Find DataTable.Rows (đối tượng lớp DataRowCollection Sắp xếp, tìm kiếm, lọc DataTable Tìm dòng Cú pháp phương thức Find DataRow DataRowCollection.Find(object key) Chú ý • Hàm Find tìm giá trị key cột khóa table phải có khóa • Để tạo khóa chính: – Dùng DataSet có kiểu mạnh – Dùng hàm FillSchema – Tự tạo khóa code Sắp xếp, tìm kiếm, lọc DataTable Tìm dòng Ví dụ myTable.PrimaryKey = new DataColumn[] { myTable.Columns["CustomerID"] }; string s = "primaryKeyValue"; DataRow foundRow = myTable.Rows.Find(s); if (foundRow != null) MessageBox.Show(foundRow[1].ToString()); else MessageBox.Show("A row with the primary key of " + s + " could not be found"); Sắp xếp, tìm kiếm, lọc DataTable Tìm dòng DataSet kiểu mạnh: Cung cấp sẵn phương thức FindBy( .) NhanVienDataTable nv; … string s = "primaryKeyValue"; NhanVienRow foundRow = nv.FindByMaNV(s); if (foundRow != null) MessageBox.Show(foundRow.MaNV); else MessageBox.Show("A row with the primary key of " + s + " could not be found"); Sắp xếp, tìm kiếm, lọc DataTable Chọn số dòng “Chọn số dòng”: truy vấn số dòng từ bảng cho trước theo điều kiện Database: Thực thi câu lệnh SQL Select … From tenBang Where tenCot=giatri Ví dụ: Select * From NhanVien Where Ten like ‘Ta%’ Sắp xếp, tìm kiếm, lọc DataTable Chọn số dòng DataTable: Dùng phương thức Select đối tượng DataTable DataRow[] DataRow[] DataRow[] DataRow[] rows rows rows rows = = = = tenBang.Select(); tenBang.Select(string dk); tenBang.Select(string dk, string sort); tenBang.Select(string dk, string sort, DataRowState state); Ví dụ DataRow[] rows = dt.Select("ho like '%Tr%'"); DataRow[] rows = dt.Select("ho like '%Tr%'“, “ten asc”); 10 Sắp xếp, tìm kiếm, lọc DataTable Cột tính toán “Cột tính toán”: cột sinh từ phép toán cột khác Database: Thực thi câu lệnh SQL Select …, cot1 cot2 … as TenCot, … From tenBang … Ví dụ Select ProductID,Price,Tax,(Price+Price*Tax) as TotalPrice From Products 11 Sắp xếp, tìm kiếm, lọc DataTable Cột tính toán DataTable: Chỉ expression (biểu thức) cho cột (thuộc tính Expression lớp DataColumn) DataTable table; … DataColumn col = new DataColumn(“TenCot”); col.Expression = “bieu thuc”; table.Columns.Add(col); Ví dụ DataColumn totalPrice = new DataColumn(“Total Price”); totalPrice.Expression = “Price + Price*Tax”; table.Columns.Add(col); 12 Sắp xếp, tìm kiếm, lọc DataTable Cột tính toán Chú ý • Cột tính toán DataSet có kiểu làm tương tự • Điều kiện quan trọng để cột tính toán hoạt động cột tham gia vào biểu thức phải có kiểu tương ứng với phép toán (các cột mặc định có kiểu string) – Dùng DataSet có kiểu – Chỉ rõ kiểu thuộc tính DataType lớp DataColumn DataColumn col; … col.DataType = typeof(kieu); 13 Sắp xếp, tìm kiếm, lọc DataTable Hàm nhóm cột Database: Thực thi câu lệnh SQL • • • • • Select Select Select Select Select min(…) max(…) avg(…) count(…) sum(…) From … From … From … From … From … Select sum(price) From Products; 14 Sắp xếp, tìm kiếm, lọc DataTable Hàm nhóm cột DataTable: Dùng phương thức Compute lớp DataTable object table.Compute(“biểu thức”, “bộ lọc”) • “biểu thức”: giống mệnh đề select – Max(cột) – Min(cột) – Sum(cột) – Count(cột) – Avg(cột) • “bộ lọc”: giống mệnh đề where 15 Sắp xếp, tìm kiếm, lọc DataTable Hàm nhóm cột Ví dụ: int p; p = int.Parse(table.Compute(“sum(Price)”, “”); int p; p = int.Parse(table.Compute(“sum(Price)”, “Price[...]... typeof(kieu); 13 Sắp xếp, tìm kiếm, lọc trong DataTable Hàm nhóm trên cột Database: Thực thi câu lệnh SQL • • • • • Select Select Select Select Select min(…) max(…) avg(…) count(…) sum(…) From … From … From … From … From … Select sum(price) From Products; 14 Sắp xếp, tìm kiếm, lọc trong DataTable Hàm nhóm trên cột DataTable: Dùng phương thức Compute của lớp DataTable object table.Compute(“biểu thức”, “bộ lọc )... ĐKLoc: điều kiện lọc dữ liệu • CotSXep: Tên cột dùng để sắp xếp • ĐK RowState: DataViewRowState.Unchanged, … 21 Lớp DataView Sắp xếp, tìm kiếm, lọc trong DataView Thuộc tính của DataView • RowFilter: Chỉ ra điều kiện lọc giống câu lệnh Select Ví dụ: “Ho like ‘Tr%’” • Sort: chỉ ra thứ tự sort Ví dụ: “MaSV asc” Phương thức của DataView • int Find(object): Trả về chỉ số dòng thỏa điều kiện tìm kiếm • DataRowView[].. .Sắp xếp, tìm kiếm, lọc trong DataTable Cột tính toán “Cột tính toán”: là cột được sinh ra từ các phép toán trên các cột khác Database: Thực thi câu lệnh SQL Select …, cot1 cot2 … as TenCot, … From tenBang … Ví dụ Select ProductID,Price,Tax,(Price+Price*Tax) as TotalPrice From Products 11 Sắp xếp, tìm kiếm, lọc trong DataTable Cột tính toán DataTable:... – Max(cột) – Min(cột) – Sum(cột) – Count(cột) – Avg(cột) • “bộ lọc : giống mệnh đề where 15 Sắp xếp, tìm kiếm, lọc trong DataTable Hàm nhóm trên cột Ví dụ: int p; p = int.Parse(table.Compute(“sum(Price)”, “”); int p; p = int.Parse(table.Compute(“sum(Price)”, “Price . SẮP XẾP, TÌM KIẾM, LỌC DỮ LIỆU Chương 4 2 Nội dung Sắp xếp, tìm kiếm, lọc trong DataTable Lớp DataRelation Lớp DataView 3 Sắp xếp, tìm kiếm, lọc trong DataTable Tìm 1 dòng Chọn. tính toán Hàm nhóm trên cột 4 Sắp xếp, tìm kiếm, lọc trong DataTable Tìm 1 dòng Tìm 1 dòng”: Là lấy thông tin chi tiết của 1 ID hay khóa chính nào đó Ví dụ: • Tìm thông tin chi tiết của. một khách hàng có mã khách hàng cho trước • Tìm thông tin chi tiết của hóa đơn có mã hóa đơn cho trước 5 Sắp xếp, tìm kiếm, lọc trong DataTable Tìm 1 dòng Database: Thực thi câu lệnh SQL Select