bài 5: ado.net & kiến trúc không kết nối (tiếp) Điều khiển datagridview,combobox...
DESCRIPTION
Căn bản về ADO.NET Cơ bản về kiến trúc không kết nối Ứng dụng nhiều form Ứng dụng SDI Ứng dụng MDI Thêm Toolbar, Tooltip vào formTRANSCRIPT
![Page 1: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/1.jpg)
Bài 5:ADO.NET & KIẾN TRÚC KHÔNG KẾT NỐI (tiếp)
Điều khiển DataGridView,Combobox
![Page 2: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/2.jpg)
Căn bản về ADO.NETCơ bản về kiến trúc không kết nốiỨng dụng nhiều formỨng dụng SDIỨng dụng MDIThêm Toolbar, Tooltip vào form
Hệ thống bài cũ
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối
Căn bản về ADO.NETCơ bản về kiến trúc không kết nốiỨng dụng nhiều formỨng dụng SDIỨng dụng MDIThêm Toolbar, Tooltip vào form
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 2
![Page 3: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/3.jpg)
ADO.NET hoạt động theo cả hai kiến trúc kết nối vàkhông kết nối
Hoạt động của các thành phần ADO.NET
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 3
![Page 4: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/4.jpg)
ADO.NET hoạt động theo cả hai kiến trúc kết nối vàkhông kết nối
Mô hình kiến trúc ADO.NET
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 4
![Page 5: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/5.jpg)
Data Adapter
.Là cầu nối giữa CSDL và Dataset nó lấydữ liệu từ CSDL đưa vào Dataset và cậpnhật dữ liệu ngược lại từ DataSet vàoCSDL
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 5
![Page 6: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/6.jpg)
Các phương thức Data Adapter
Các phương thức
Ví dụ:
Phương thức Mô tảFill Phương thức này sử dụng một dataset để làm tươi các
hàng trong dataset để khớp với dữ liệu trong CSDL và tạora một DataTable
Update Phương thức này gọi các câu lệnh: Insert, update, deletetừ một Datatable
Các phương thức
Ví dụ:
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 6
Phương thức này gọi các câu lệnh: Insert, update, deletetừ một Datatable
![Page 7: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/7.jpg)
Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ liệu
Mỗi dataset gồm nhiều bảngCác bảng có ràng buộc với nhauMỗi bảng có nhiều dòng và cộtMỗi cột có nhiều dòngMỗi dòng có nhiều cột
Kết hợp với SqlDataAdapter để cập thao tác với dữ liệu
Kiến trúc DataSet
Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ liệu
Mỗi dataset gồm nhiều bảngCác bảng có ràng buộc với nhauMỗi bảng có nhiều dòng và cộtMỗi cột có nhiều dòngMỗi dòng có nhiều cột
Kết hợp với SqlDataAdapter để cập thao tác với dữ liệu
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 7
![Page 8: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/8.jpg)
SqlCommandBuilder sẽ đọc câu SQL lấy từ SqlDataAdapter sauđó suy ra các lệnh insert, update và delete, sau đó gán cáclệnh mới vào các property Insert, Update, Delete củaSqlDataAdapter tương ứng.Khai báo
SqlCommandBuilder cb= new SqlCommandBuilder(adapter);
Sử dụng SqlcommandBuilder
SqlCommandBuilder sẽ đọc câu SQL lấy từ SqlDataAdapter sauđó suy ra các lệnh insert, update và delete, sau đó gán cáclệnh mới vào các property Insert, Update, Delete củaSqlDataAdapter tương ứng.Khai báo
SqlCommandBuilder cb= new SqlCommandBuilder(adapter);
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 8
Cập nhật thực thi câu lệnh SQL và đưa vào DataAdapter,cập nhật từ DataSet vào CSDL
adapter.Update(ds, "Employees");
![Page 9: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/9.jpg)
THAO TÁC DỮ LIỆU VỚI KIẾN TRÚCKHÔNG KẾT NỐI
![Page 10: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/10.jpg)
Thao tác với DataTable
DataTable dt = new DataTable(); // khai báo data tableSqlConnection conn = new SqlConnection(ConnectionString);SqlCommand cmd = new SqlCommand(sql, conn);SqlDataAdapter da = new SqlDataAdapter(cmd);conn.Open();da.Fill(dt); // Đưa dữ liệu vào Datatableconn.Close();
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối
DataTable dt = new DataTable(); // khai báo data tableSqlConnection conn = new SqlConnection(ConnectionString);SqlCommand cmd = new SqlCommand(sql, conn);SqlDataAdapter da = new SqlDataAdapter(cmd);conn.Open();da.Fill(dt); // Đưa dữ liệu vào Datatableconn.Close();
10
![Page 11: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/11.jpg)
Ứng dụng đưa dữ liệu từ Dataset vào Listview
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 11
![Page 12: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/12.jpg)
Làm việc với Data RowKhai báo 1 biến DataRow
int index = lvwBookDetails.SelectedItems[0].Index;DataRow dr = ds.Tables["Tên bảng"].Rows[chỉ số hàng];txtCode.Text = dr[“productcode”].ToString(); // Gán giá trịtxtPrice.Text = dr["UnitPrice"].ToString();
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 12
![Page 13: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/13.jpg)
Demo sử dụng Datarow lấy dữ liệu của hàng được chọn
![Page 14: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/14.jpg)
Demo Thêm một bản ghi từ Dataset vào CSDL
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nốiLập trình với CSDL - ADO.Net & Kiến trúc không kết nối 14
![Page 15: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/15.jpg)
Các bước để xóa bản ghi Data Set
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nốiLập trình với CSDL - ADO.Net & Kiến trúc không kết nối 15
![Page 16: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/16.jpg)
Demo Xóa bản ghi trên Dataset và CSDL
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nốiLập trình với CSDL - ADO.Net & Kiến trúc không kết nối 16
![Page 17: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/17.jpg)
Các bước để sửa 1 dòng trên Data Set
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nốiLập trình với CSDL - ADO.Net & Kiến trúc không kết nối 17
![Page 18: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/18.jpg)
Demo Sửa một bản ghi từ Dataset vào CSDL
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nốiLập trình với CSDL - ADO.Net & Kiến trúc không kết nối 18
![Page 19: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/19.jpg)
Bài tập về nhàLập trình hoàn thành các chức năng Quản lý khách
hàng bằng kiến trúc không kết nối.
![Page 20: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/20.jpg)
Buộc dữ liệu là một quá trình mà dữ liệu của điều khiểntrên giao diện liên kết trực tiếp với dữ liệu trên CSDLTính năng buộc dữ liệu cho phép hiển thị dữ liệu và thaotác với dữ liệu một cách dễ dàng từ điều khiển
Buộc dữ liệu
Lập trình với CSDL - Kiến trúc kết nối & buộc dữ liệu 20
![Page 21: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/21.jpg)
Điều khiển hỗ trợ buộc dữ liệu được gọi là điều khiểnbuộcĐiều khiển buộc là điều khiển liên kết với dữ liệu trênCSDLThuộc tính DataSource của điều khiển buộc chỉ ranguồn dữ liệu cho điều khiển (thường là bảng trêndataset).NET FrameWork hỗ trợ rất nhiều điều khiển buộc như:TextBox, ComboBox, DataGridView…
Điều khiển buộc
Điều khiển hỗ trợ buộc dữ liệu được gọi là điều khiểnbuộcĐiều khiển buộc là điều khiển liên kết với dữ liệu trênCSDLThuộc tính DataSource của điều khiển buộc chỉ ranguồn dữ liệu cho điều khiển (thường là bảng trêndataset).NET FrameWork hỗ trợ rất nhiều điều khiển buộc như:TextBox, ComboBox, DataGridView…
Lập trình với CSDL - Kiến trúc kết nối & buộc dữ liệu 21
![Page 22: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/22.jpg)
Là điều khiển dùng để hiển thị dữ liệu từ 1 nguồn dữ liệu
DataGridView
Lập trình với CSDL - Kiến trúc kết nối & buộc dữ liệu 22
Hai thuộc tính quan trọng của DataGridView là;Datagridview.DataSource= dataset // Nhận nguồn dữ liệu từ DSDatagridview.DataSource= "tên bảng";
![Page 23: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/23.jpg)
Demo điều khiển buộc DataGridView
Lập trình với CSDL - Kiến trúc kết nối & buộc dữ liệu 23
![Page 24: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/24.jpg)
Demo điều khiển buộc Combobox
Lập trình với CSDL - Kiến trúc kết nối & buộc dữ liệu 24
![Page 25: Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combobox - Lập trình winform - Giáo trình FPT](https://reader031.vdocuments.mx/reader031/viewer/2022013111/5584e4c7d8b42a89408b5304/html5/thumbnails/25.jpg)
Các loại data provider này tương tự nhau, chúng ta sẽtập trung vào SqlDataProviderCác thao tác xử lý dữ liệu với đối tượngSQlCommandLàm việc với Data SetLàm việc với Data Table, Data Row, Xử lý dữ liệutrên Data Set.Các điều khiển DataGridView/ Combobox
Tổng kết bài học
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối
Các loại data provider này tương tự nhau, chúng ta sẽtập trung vào SqlDataProviderCác thao tác xử lý dữ liệu với đối tượngSQlCommandLàm việc với Data SetLàm việc với Data Table, Data Row, Xử lý dữ liệutrên Data Set.Các điều khiển DataGridView/ Combobox
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 25