intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình cơ sở dữ liệu - Chương 4: Sắp xếp, tìm kiếm, lọc dữ liệu

Chia sẻ: Nhân Chi Sơ | Ngày: | Loại File: PPT | Số trang:24

52
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 4 - Sắp xếp, tìm kiếm, lọc dữ liệu. Những nội dung chính được trình bày trong chương này gồm có: Sắp xếp, tìm kiếm, lọc trong DataTable; lớp DataRelation; lớp DataView. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình cơ sở dữ liệu - Chương 4: Sắp xếp, tìm kiếm, lọc dữ liệu

  1. Chương 4 SẮP XẾP, TÌM KIẾM, LỌC DỮ LIỆU
  2. Nội dung  Sắp xếp, tìm kiếm, lọc trong DataTable  Lớp DataRelation  Lớp DataView 2
  3. Sắp xếp, tìm kiếm, lọc trong DataTable  Tìm 1 dòng  Chọn một số dòng  Cột tính toán  Hàm nhóm trên cột 3
  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 4
  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 … From tenBang Where CotKhoaChinh=giatri  DataTable: Dùng phương thức Find của DataTable.Rows (đối tượng của lớp DataRowCollection 5
  6. Sắp xếp, tìm kiếm, lọc trong DataTable Tìm 1 dòng  Cú pháp phương thức Find DataRow DataRowCollection.Find(object key)  Chú ý • Hàm Find tìm giá trị key chỉ trên cột khóa chính  table phải có khóa chính • Để tạo khóa chính: – Dùng DataSet có kiểu mạnh – Dùng hàm FillSchema – Tự tạo khóa bằng code 6
  7. Sắp xếp, tìm kiếm, lọc trong DataTable Tìm 1 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"); 7
  8. Sắp xếp, tìm kiếm, lọc trong DataTable Tìm 1 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"); 8
  9. Sắp xếp, tìm kiếm, lọc trong DataTable Chọn một số dòng  “Chọn một số dòng”: truy vấn 1 số dòng từ 1 bảng cho trước theo 1 điều kiện nào đó  Database: Thực thi câu lệnh SQL Select … From tenBang Where tenCot=giatri  Ví dụ: Select * From NhanVien Where Ten like ‘Ta%’ 9
  10. Sắp xếp, tìm kiếm, lọc trong DataTable Chọn một số dòng  DataTable: Dùng phương thức Select của đối tượng DataTable DataRow[] rows = tenBang.Select(); DataRow[] rows = tenBang.Select(string dk); DataRow[] rows = tenBang.Select(string dk, string sort); DataRow[] rows = 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
  11. 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
  12. Sắp xếp, tìm kiếm, lọc trong DataTable Cột tính toán  DataTable: Chỉ ra expression (biểu thức) cho cột mới (thuộc tính Expression của 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
  13. Sắp xếp, tìm kiếm, lọc trong DataTable Cột tính toán  Chú ý • Cột tính toán trên DataSet có kiểu làm tương tự • Điều kiện rất quan trọng để cột tính toán có thể hoạt động được là các 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 bằng thuộc tính DataType của lớp DataColumn DataColumn col; … col.DataType = typeof(kieu); 13
  14. 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 min(…) From … • Select max(…) From … • Select avg(…) From … • Select count(…) From … • Select sum(…) From … Select sum(price) From Products; 14
  15. 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”) • “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
  16. 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
  17. Lớp DataRelation  Database • Cho phép tạo quan hệ giữa các bảng • Cho phép kết (join) giữa các bảng  DataTable: • Cho phép tạo quan hệ giữa các bảng bằng đối tượng DataRelation • Không cho phép kết (join) giữa các bảng • Cho phép lấy các “dòng con” của 1 dòng • Cho phép lấy “dòng cha” của 1 dòng 17
  18. Lớp DataRelation  Lấy các “dòng con” và “dòng cha” DataRow[] rows; DataRow row; rows = parentTable.Rows[index].GetChildRows(relation); row = childTable.Rows[index].GetParentRow(relation);  Tạo quan hệ (Chương 5) ds.Relations.Add(new DataRelation(…)); 18
  19. Lớp DataView  Khái niệm DataView  Tạo DataView  Sắp xếp, tìm kiếm, lọc trong DataView  Chuyển DataView thành DataTable 19
  20. Lớp DataView Khái niệm DataView  Đối tượng DataView thay thế cho câu lệnh Select của đối tượng DataTable  Đặc điểm DataView • DataView có thể binding vào control (Kết quả của câu lệnh Select thì không thể) • DataView chỉ cho phép làm việc trên 1 bảng – không cho phép chọn 1 tập con các cột • Nếu DataTable gồm có các DataRows thì DataView gồm có các DataRowViews 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2