bài 5: ado.net & kiến trúc không kết nối (tiếp) Điều khiển datagridview,combobox...

25
Bài 5: ADO.NET & KIẾN TRÚC KHÔNG KẾT NỐI (tiếp) Điều khiển DataGridView,Combobox

Upload: hoc-lap-trinh-web

Post on 20-Jun-2015

2.317 views

Category:

Documents


10 download

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 form

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

Ứ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

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

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

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

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

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

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

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

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

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

Đ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

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

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

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

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