Data Adapter.Là cầu nối giữa CSDL và Dataset nó lấy dữ liệu từ CSDL đưa vào Dataset và cập nhật dữ liệu ngược lại từ DataSet vào CSDL Lập trình với CSDL - ADO.Net & Kiến trúc không kết n
Trang 1Bài 5:
ADO.NET & KIẾN TRÚC KHÔNG KẾT NỐI (tiếp)
Điều khiển DataGridView,Combobox
Trang 3ADO.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
Trang 4ADO.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
Trang 5Data Adapter
.Là cầu nối giữa CSDL và Dataset nó lấy
dữ liệu từ CSDL đưa vào Dataset và cập
nhật dữ liệu ngược lại từ DataSet vào
CSDL
Lập trình với CSDL - ADO.Net & Kiến trúc không kết nối 5
Trang 6Cá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ạo
ra một DataTable Update Phương thức này gọi các câu lệnh: Insert, update, delete
Trang 7Cấ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ảng
Các bảng có ràng buộc với nhau
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ảng
Các bảng có ràng buộc với nhau
Mỗi bảng có nhiều dòng và cột
Mỗi cột có nhiều dòng
Mỗ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
Trang 8SqlCommandBuilder sẽ đọc câu SQL lấy từ SqlDataAdapter sau
đó suy ra các lệnh insert, update và delete, sau đó gán các lệnh mới vào các property Insert, Update, Delete của SqlDataAdapter 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ác lệnh mới vào các property Insert, Update, Delete của SqlDataAdapter tương ứng.
Khai báo
SqlCommandBuilder cb= new SqlCommandBuilder(adapter);
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");
Trang 9THAO TÁC DỮ LIỆU VỚI KIẾN TRÚC
KHÔNG KẾT NỐI
Trang 10Thao tác với DataTable
DataTable dt = new DataTable(); // khai báo data table
SqlConnection 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 Datatable
conn.Close();
DataTable dt = new DataTable(); // khai báo data table
SqlConnection 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 Datatable
conn.Close();
Trang 11Ứ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
Trang 12Làm việc với Data Row
Khai 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();
Trang 13Demo sử dụng Datarow lấy dữ liệu của hàng được chọn
Trang 14Demo Thêm một bản ghi từ Dataset vào CSDL
Trang 15Các bước để xóa bản ghi Data Set
Trang 16Demo Xóa bản ghi trên Dataset và CSDL
Trang 17Các bước để sửa 1 dòng trên Data Set
Trang 18Demo Sửa một bản ghi từ Dataset vào CSDL
Trang 19Bà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.
Trang 20Buộc dữ liệu là một quá trình mà dữ liệu của điều khiển
trên giao diện liên kết trực tiếp với dữ liệu trên CSDL
Tí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
Trang 21Điều khiển hỗ trợ buộc dữ liệu được gọi là điều khiển buộc
Điều khiển buộc là điều khiển liên kết với dữ liệu trên
CSDL
Thuộc tính DataSource của điều khiển buộc chỉ ra
nguồn dữ liệu cho điều khiển (thường là bảng trên
dataset)
.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ển buộc
Điều khiển buộc là điều khiển liên kết với dữ liệu trên
CSDL
Thuộc tính DataSource của điều khiển buộc chỉ ra
nguồn dữ liệu cho điều khiển (thường là bảng trên
Trang 22Là điều khiển dùng để hiển thị dữ liệu từ 1 nguồn dữ liệu
DataGridView
Hai thuộc tính quan trọng của DataGridView là;
Trang 23Demo điều khiển buộc DataGridView
Trang 24Demo điều khiển buộc Combobox
Trang 25Các loại data provider này tương tự nhau, chúng ta sẽ tập trung vào SqlDataProvider
Các thao tác xử lý dữ liệu với đối tượng
SQlCommand
Làm việc với Data Set
Làm việc với Data Table, Data Row, Xử lý dữ liệu trê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 SqlDataProvider
Các thao tác xử lý dữ liệu với đối tượng
SQlCommand
Làm việc với Data Set
Làm việc với Data Table, Data Row, Xử lý dữ liệu trê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