11
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>22
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Lập trình thực thi các hoạt động xử
lý theo cơ chế ngắt kết nối
(Disconnected)
1.Mô hình dữ liệu ngắt kết nối ADO.NET là gì?
2.Tiến trình đọc (Loading) và ghi (Saving) dữ
liệu của DataSet
3.DataView là gì?
33
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>1. Mô hình ngắt kết nối là gì?
•
Mô hình dữ liệu kết nối và ngắt kết nối
•
Tạo các đối tượng DataSet và DataTable
•
Tạo các DataColumn của DataTable
•
Khai báo các ràng buộc (constraint) và các
quan hệ (relation) của các DataTable
•
Cập nhật dữ liệu cho DataTable
44
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Mô hình kết nối và ngắt kết nối
•
Mô hình dữ liệu kết nối (connected model)
−
Cho phép người dùng mở và duy trì kết nối đến CSDL
để thực hiện lệnh
−
Sử dụng đối tượng Connection và Command
•
Mô hình dữ liệu ngắt kết nối (disconnected
model)
−
Cho phép người dùng kết nối đến CSDL, đọc và lưu
trữ dữ liệu vào vùng nhớ, sau đó ngắt kết nối. Có thể thực
hiện các cập nhật trên vùng nhớ này và ghi trở lại CSDL
−
Sử dụng đối tượng Connection và DataAdapter
55
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>What Is the ADO.NET
Disconnected Model?
66
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Tạo DataSet và DataTable
•
DataSet là gì?
−
Là một CSDL thu nhỏ đặt trong vùng nhớ
−
DataSet chứa các DataTable, DataRelation
−
Thuộc tính Tables chứa các DataTable của DataSet
−
Thuộc tính Relations chứa các DataRelation của
DataSet
•
Tạo DataSet
−
Khởi tạo một DataSet
−
Khởi tạo các DataTable và sử dụng phương thức Add
77
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Tạo đối tượng DataSet
•
Khai báo và khởi tạo
‘Tạo DataSet
DataSet du_lieu = new DataSet(“QLSV”);
‘Tạo DataTable
DataTable bang = new DataTable(“SV”);
‘Thêm DataTable vào DataSet
du_lieu.Tables.Add(bang);
88
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Tạo các DataColumn của DataTable
•
Đối tượng DataColumn
−
Là các cột của DataTable
−
Thuộc tính Columns chứa các DataColumn của
DataTable
•
Các thuộc tính của DataColumn
−
Tên (name)
−
Kiểu dữ liệu (data type)
−
Kích thước (size)
99
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Tạo đối tượng DataColumn
•
Khai báo và khởi tạo
‘Tạo DataColumn
DataColumn cotTenKH = new DataColumn(“TenKH”,
Type.GetType(“System.String”));
cotTenKH.MaxLength = 50;
‘Thêm DataColumn vào DataTable
bang.Columns.Add(cotTenKH);
1010
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Đối tượng DataColumn
•
Chỉ đọc: thuộc tính ReadOnly
•
Không được Null: thuộc tính AllowDBNull
•
Duy nhất: thuộc tính Unique
•
Cột tăng tự động
−
Thuộc tính AutoIncrement
−
Thuộc tính AutoIncrementSeed
−
Thuộc tính AutoIncrementStep
•
Cột đóng vai trò là biểu thức
1111
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Minh họa tạo cấu trúc DataTable
•
Tạo DataTable tên Hang_Hoa gồm các cột
MHH, Ten, Sl, Dg, TT
•
MHH kiểu số nguyên, tự động tăng, là khóa
chính
•
Ten kiểu chuỗi, duy nhất
•
Sl kiểu số nguyên
•
Dg kiểu số nguyên
•
Tt bằng Sl*Dg, chỉ đọc
1212
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Khai báo Constraint và Relation
•
Constraint là các kiểm tra ràng buộc trên
DataTable
−
Có hai loại: UniqueConstraint và ForeignKeyConstraint
−
Thuộc tính Constraints chứa các Constraint của
DataTable
•
Relation là quan hệ giữa hai DataTable
−
Tạo DataRelation gồm Tên quan hệ, các cột bảng cha,
các cột của bảng con
−
Thuộc tính Relations chứa các DataRelation của
DataSet
1313
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Minh họa tạo Constraint
•
Tạo các DataTable KHOA và SINH_VIEN
•
KHOA gồm các cột Mã khoa, Tên khoa
•
SINH_VIEN gồm các cột Mã sv, Họ Tên sv, Mã
khoa
•
Tạo constraint kiểm tra tên khoa là duy nhất
•
Tạo constraint kiểm tra khóa ngoại mã khoa
trong SINH_VIEN (bảng con) phải có trong KHOA
(bảng cha)
1414
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Minh họa tạo DataRelation
•
Tạo các DataTable KHOA và SINH_VIEN
•
KHOA gồm các cột Mã khoa, Tên khoa
•
SINH_VIEN gồm các cột Mã sv, Họ Tên sv, Mã
khoa
•
Tạo DataRelation dựa trên cột Mã khoa trong
SINH_VIEN (bảng con) và trong KHOA (bảng cha)
1515
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Cập nhật dữ liệu cho DataTable
•
DataRow
−
Là một dòng trong DataTable
−
Thuộc tính Rows chứa các DataRow của DataTable
•
Cập nhật Thêm
−
Tạo một DataRow
−
Sử dụng phương thức Add để thêm DataRow vào
DataTable
1616
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Tạo đối tượng DataRow
•
Khai báo và khởi tạo
‘Tạo DataRow
DataRow dong = bang.NewRow();
dong[0] = …;
‘Thêm DataRow vào DataTable
bang.Rows.Add(dong);
1717
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Cập nhật dữ liệu cho DataTable
•
Cập nhật Xóa
−
Sử dụng phương thức Remove để xóa hẳn một
DataRow ra khỏi DataTable
−
Sử dụng phương thức Delete để đánh dấu xóa một
DataRow trong DataTable
1818
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Cập nhật dữ liệu cho DataTable
•
Ghi và không ghi các thay đổi trong DataTable
−
Sử dụng phương thức AcceptChanges để ghi
−
Sử dụng phương thức RejectChanges để không ghi
1919
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Minh họa cập nhật DataTable
•
Tạo một DataTable và thêm các dòng
•
Hiển thị DataTable ra lưới
•
Cho phép Thêm, Sửa, Xóa các dòng
•
Xử lý các nút Ghi và Không ghi
•
Minh họa phương thức Find để tìm kiếm
•
Minh họa phương thức Select để chọn lọc
2020
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>2. Tiến trình đọc và ghi dữ liệu của
DataSet
•
Khai báo và khởi tạo đối tượng DataAdapter
•
Sử dụng đối tượng DataAdapter để đọc và ghi
dữ liệu
2121
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>2222
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Các DataAdapter trong .NET
•
System.Data.SqlClient.SqlDataAdapter
•
System.Data.OleDbClient.OleDbDataAdapter
•
System.Data.Odbc.OdbcDataAdapter
•
System.Data.OracleClient.OracleDataAdapter
2323
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Khai báo và khởi tạo DataAdapter
•
DataAdapter dùng để đọc dữ liệu từ CSDL và
lưu trữ trong các DataTable của DataSet
•
Trước khi đọc thì Connection tự động mở ra
và sau khi đọc xong thi Connection tự động đóng
lại
•
DataAdapter sử dụng các Command sau
−
Select Command
−
Insert Command
−
Update Command
−
Delete Command
2424
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Tạo đối tượng DataAdapter
•
Khai báo và khởi tạo
‘Tạo DataAdapter
string lenh = “Select * From …”;
SqlDataAdapter bo_doc_ghi = new SqlDataAdapter(lenh, ket_noi);
‘Đọc dữ liệu
DataSet du_lieu = new DataSet();
bo_doc_ghi.Fill(du_lieu);
2525
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
/>Minh họa sử dụng DataAdapter để
đọc dữ liệu
•
Tạo một DataAdapter để đọc dữ liệu của một
bảng
•
Dữ liệu đọc được sẽ lưu trữ trong DataTable
của DataSet (hoặc DataTable không thuộc
DataSet)
•
Hiển thị dữ liệu ra màn hình