SẮP XẾP, TÌM KIẾM, LỌC DỮ LIỆU

Slides:



Advertisements
Các bản thuyết trình tương tự
Công nghệ phần mềm Các quy trình phần mềm.
Advertisements

Teen Challenge Staff Training Course
CHÚA NHẬT 4 MÙA THƯỜNG NIÊN
CHÚA NHẬT 33 MÙA THƯỜNG NIÊN NĂM B
CHÚA NHẬT 20 MÙA THƯỜNG NIÊN NĂM A TWENTIETH SUNDAY IN ORDINARY TIME
TRƯỜNG ĐẠI HỌC THĂNG LONG MÔN KINH TẾ HỌC ĐẠI CƯƠNG
TINH THẦN YÊU NƯỚC CỦA NHÂN DÂN TA
QUẢN TRỊ NHÂN LỰC Đề tài: Các bước tuyển chọn nhân lực Nhóm 9
ỦY BAN NHÂN DÂN TỈNH QUẢNG NAM
Mô hình thực thể liên kết (Entity-Relationship - ER)
Các nguyên tắc làm việc với ASP
Kiểm thử và đảm bảo chất lượng phần mềm
Tiêu đề Mẫu Powerpoint Thêm tiêu đề L.O.G.O.
PHÒNG TÀI NGUYÊN VÀ MÔI TRƯỜNG CÁC CÔNG TÁC BẢO VỆ MÔI TRƯỜNG
CHỦ ĐỀ 1 MÁY TÍNH VÀ CHƯƠNG TRÌNH MÁY TÍNH
ThS. Phạm Đức Thành Lập trình trên Windows ThS. Phạm Đức Thành
CHÚA NHẬT 29 MÙA THƯỜNG NIÊN
“Khi Chúa Giêsu đã chịu phép rửa và đang cầu nguyện, thì trời mở ra”.
ASP Giáo viên: TS. Trương Diệu Linh Bộ môn Truyền thông & Mạng
CÁC HÀM CƠ BẢN TRONG EXCEL (1)
Kiểm thử và đảm bảo chất lượng phần mềm
Xinh đẹp! Beautiful!.
LỄ CHÚA THÁNH THẦN HIỆN XUỐNG
TWENTY-FIFTH SUNDAY IN ORDINARY TIME
Thực hành 5S trong văn phòng
Sử dụng các hàm để tính toán
CHỦ ĐỀ 4 DỮ LIỆU VÀ BIẾN TRONG CHƯƠNG TRÌNH
Đồ họa máy tính Ánh sáng Bùi Thế Duy - Bộ môn KHMT 7/15/2019.
Sáng tác: MS David Dong 2007.
BẢO VỆ SỰ SỐNG CON NGƯỜI 2.
Ôn tập struct và bộ nhớ động Linked Lists
Lương Trần Hy Hiến - LINQ to SQL Lương Trần Hy Hiến -
Class & Struct II Lập trình nâng cao.
Con trỏ Lập trình nâng cao
Bài 3: Ngôn ngữ lập trình C#
Chương 02 CẤU TRÚC VÀ CÁC THÀNH PHẦN CHƯƠNG TRÌNH C/C++
Chương 5 ỨNG DỤNG CSDL VÀ ADO.NET.
THIRD SUNDAY OF LENT CHÚA NHẬT 3 MÙA CHAY NĂM C.
Bài 1: giới thiệu C# và .NET framework
Chương 5 DataSets.
Chương 06 KIỂU DỮ LIỆU NGƯỜI LẬP TRÌNH ĐỊNH NGHĨA
17th Sunday in Ordinary Time - Year C Chúa Nhật 17 Thường Niên Năm C
THE NATIVITY OF THE LORD CHRISTMAS
Maria thì ghi nhớ tất cả những việc đó và suy niệm trong lòng
PALM SUNDAY OF THE LORD’S PASSION
Line Clipping in 2D Xén đường thẳng trong 2D
Chương 03 TỔ CHỨC DỮ LIỆU TRONG CHƯƠNG TRÌNH
Korea-Vietnam Friendship IT College
Tin Mừng Chúa Giêsu Kitô theo Thánh Matthêu.
NHẬP MÔN LẬP TRÌNH MẢNG MỘT CHIỀU.
Môn Toán Lớp 3 Giáo viên: Nguyễn Thị B 1.
Trainer: Bạch Ngọc Toàn Phát hành bởi: TEDU –
BÀI TẬP THỰC HÀNH 5 SỬ DỤNG DÃY SỐ.
CHÚA NHẬT LỄ LÁ NĂM C PALM SUNDAY
DIỄN ĐÀN KHOA HỌC TOÀN QUỐC SINH HỌC BIỂN VÀ PHÁT TRIỂN BỀN VỮNG 2019
Nhập môn Công nghệ học Phần mềm Introduction to Software Engineering
LỄ THĂNG THIÊN THE ASCENSION OF THE LORD.
Trainer: Bạch Ngọc Toàn Phát hành bởi: TEDU –
"Đang khi cầu nguyện, diện mạo Người biến đổi khác thường".
TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
Mục tiêu Ưu điểm của ADO.NET Kiến trúc của ADO.NET
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER 2012
CUỘC SỐNG ĐẸP THAY Âm nhạc: Ernesto Cortazar, “La Vida Es Bella”
HƯỚNG DẪN TRÌNH BÀY Ý TƯỞNG KINH DOANH (Áp dụng cho các đề tài nộp tại vòng sơ loại) 10/8/2019.
HƯỚNG DẪN TẠO LỚP.
Hàm Lập trình nâng cao.
Bản ghi của bản thuyết trình:

SẮP XẾP, TÌM KIẾM, LỌC DỮ LIỆU Chương 5 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 trong DataTable Lớp DataRelation Lớp DataView

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

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 In the case of a database, you’d simply execute a SQL query, but a DataTable is not a table inside a database and cannot use a SQL query and a database engine to help itself do this job.

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 In the case of a database, you’d simply execute a SQL query, but a DataTable is not a table inside a database and cannot use a SQL query and a database engine to help itself do this job.

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

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");

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<TenCotkhoaChinh>(...) 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 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%’

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”);

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 <pheptoan> cot2 … as TenCot, … From tenBang … Ví dụ Select ProductID,Price,Tax,(Price+Price*Tax) as TotalPrice From Products

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);

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 Trước khi fill dữ liệu DataColumn col; … col.DataType = typeof(kieu);

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;

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

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<100”); Chú ý Dùng lớp Convert hay hàm Parse để chuyển sang kiểu dữ liệu tương ứng

Lớp DataRelation Database DataTable: 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

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(…));

Sắp xếp, tìm kiếm, lọc trong DataView Chuyển DataView thành DataTable 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

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

Lớp DataView Tạo DataView Các cách tạo DataView DataView vw = new DataView(); DataView vw = new DataView(table); DataView vw = new DataView(table, “ĐKLoc”, “CotSXep”, ĐK RowState); Trong đó Đ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, …

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[] FindRows(object hay object[]): Trả về 1 số DataRowView thỏa điểu kiện tìm kiếm Chú ý: 2 Hàm này chỉ tìm kiếm trên các cột được chỉ ra trong thuộc tính Sort của DataView

Lớp DataView Chuyển DataView sang DataTable Cú pháp DataTable vw.ToTable() DataTable vw.ToTable("ten bang") DataTable vw.ToTable(boolean, mảng chuỗi cột) DataTable vw.ToTable("ten bang", boolean, mảng chuỗi cột) Trong đó boolean: true – loại bỏ những dòng trùng lắp (distinct)

Tóm tắt chương 5