Bài giảng Lập trình trên Windows: Chương 5.3 - Trần Minh Thái
lượt xem 7
download
Bài giảng Lập trình trên Windows: Chương 5.3 Sắp xếp, tìm kiếm và lọc dữ liệu cung cấp cho người học các kiến thứ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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình trên Windows: Chương 5.3 - Trần Minh Thái
- Lập trình Windows Chương 5.3. Sắp xếp, tìm kiếm và lọc dữ liệu 1
- Nội dung • Sắp xếp, tìm kiếm, lọc trong DataTable • Lớp DataRelation • Lớp DataView 2
- 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
- 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
- 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
- Sắp xếp, tìm kiếm, lọc trong DataTable Tìm 1 dòng 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
- 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
- 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
- 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
- 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
- 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: Chỉ ra expression cho cột mới 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 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ự • 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
- 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
- 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
- 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
- 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
- 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ệ ds.Relations.Add(new DataRelation(…)); 18
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình trên Windows: Giới thiệu môn học - Trần Minh Thái
16 p | 142 | 16
-
Bài giảng Lập trình trên Windows: Chương 1 - Trần Minh Thái
68 p | 116 | 16
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 1)
141 p | 101 | 15
-
Bài giảng Lập trình trên Windows: Chương 3 - Trần Minh Thái
220 p | 89 | 14
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 2)
96 p | 80 | 14
-
Bài giảng Lập trình trên Windows: Chương 4 - Trần Minh Thái
35 p | 100 | 12
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 3)
29 p | 73 | 10
-
Bài giảng Lập trình trên Windows: Chương 5 - Trần Minh Thái
38 p | 102 | 10
-
Bài giảng Lập trình trên Windows: Chương 5.2 - Trần Minh Thái
86 p | 90 | 9
-
Bài giảng Lập trình trên Windows: Chương 5.1 - Trần Minh Thái
20 p | 80 | 9
-
Bài giảng Lập trình trên Windows: Chương 5.5 - Trần Minh Thái
47 p | 63 | 8
-
Bài giảng Lập trình trên Windows: Chương 5.6 - Trần Minh Thái
44 p | 73 | 8
-
Bài giảng Lập trình trên Windows: Chương 6 - Trần Minh Thái
27 p | 52 | 7
-
Bài giảng Lập trình trên Windows: Chương 5.4 - Trần Minh Thái
22 p | 65 | 6
-
Bài giảng Lập trình trên môi trường Windows: Phần 1 - Windows control
31 p | 95 | 5
-
Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 6 - Hồ Hoàn Kiếm
15 p | 74 | 5
-
Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 1 - Hồ Hoàn Kiếm
19 p | 66 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn