Bài 5:ADO.NET & KIẾN TRÚC KHÔNG KẾT NỐI (tiếp)
Điều khiển DataGridView,Combobox
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
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
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
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
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
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
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");
THAO TÁC DỮ LIỆU VỚI KIẾN TRÚCKHÔNG KẾT NỐI
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
Ứ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
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
Demo sử dụng Datarow lấy dữ liệu của hàng được chọn
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
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
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
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
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
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.
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
Đ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
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";
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
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
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