Bài giảng Lập trình DOTNET: Chương 4 Lập trình quản lý cơ sở dữ liệu với ADO.NET bằng C# cung cấp cho người học những kiến thức như: Tổng quan kiến trúc ADO.NET; Các loại kết nối cơ sở dữ liệu; Các đối tượng trong ADO.NET; Quy trình truy xuất cơ sở dữ liệu; Kỹ thuật lập trình mô hình LinQ.
Trang 2NỘI DUNG
1 Tổng quan kiến trúc ADO.NET
2 Các loại kết nối CSDL
3 Các đối tượng trong ADO.NET
4 Quy trình truy xuất CSDL
5 Kỹ thuật lập trình mô hình LinQ
Trang 3Tài liệu tham khảo
http://yinyangit.wordpress.com/2011/08/01/ado-net-tutorial- SqlCommand: lesson-03-the-sqlcommand-object/
http://yinyangit.wordpress.com/2011/08/02/ado-net-tutorial- SqlDataReader: lesson-04-reading-data-with-sqldatareader/
http://yinyangit.wordpress.com/2011/08/03/ado-net-tutorial- SqlDataAdapter: viec-voi-disconnected-data-dataset-va-sqldataadapter/
http://truongcongvinh.wordpress.com/2012/10/06/lam- DataSet, DataTable: tutorial-lesson-05-working-with-disconnected-data%E2%80%93dataset- and-sqldataadapter/
Trang 4http://yinyangit.wordpress.com/2011/08/04/ado-net-1 Tổng quan kiến trúc ADO.NET
• Là một công nghệ mới của Microsoft (các phiên bản VS2003, VS2005, VS2008, VS2010, VS2012, VS2013, VS2015)
• Là một tập các thư viện hướng đối tượng cho phép tương tác với các nguồn CSDL như: Microsoft SQL Server, Microsoft Access, Oracle,…
Trang 5Giới thiệu giao diện một số phần mềm
Trang 112 Các loại kết nối CSDL
• ADO.NET nối kết với CSDL bằng một trang 2 cách
– Những đối tượng được nối kết
• Những lệnh csdl làm việc trực tiếp với dữ liệu trong database(db)
• Mỗi lệnh csdl làm việc trực tiếp với dòng, cột trong các bảng csdl
– Những đối tượng không nối kết
• Các lệnh csdl không làm việc trực tiếp với dữ liệu trong csdl
• Dữ liệu thường được download đến client
– Dữ liệu được chỉnh sửa – Sự thay đổi được cập nhật đến csdl
Trang 122 Các loại kết nối CSDL
• ADO.NET là một tập hợp của những thư viện nối kết với nhiều csdl và kho dữ liệu
– Nếu bạn có các driver csdl .NET có thể nối kết với bất kỳ csdl nào
• MS SQL Server, Oracle, MySQL, Access
– SQL Server = System.data.SqlClient – Oracle = System.Data.Oracle
– Access = System.Data.OleDb
• Ví dụ Một số đặc tính của Oracle Driver
– Truy xuất dữ liệu là nhanh nhất – Có các đối tượng, phương thức và thuộc tính
» Các hàm SQL không theo chuẩn
Trang 133 Các đối tượng trong ADO.NET
Trang 14SqlConnection
Vai trò tạo sự kết nối giữa ứng dụng với Hệ quản trị CSDL
Trang 15SqlConnection – Chuỗi kết nối với CSDL SQL
Ví dụ: Tạo kết nối với Hệ quản trị CSDL SQL Server
Trang 16SqlCommand
Vai trò lưu trữ câu lệnh SQL
Ví dụ: Tạo đối tượng SqlCommand Câu lệnh
SQL
Tên đối tượng SqlConnection
Tên đối tượng SqlCommand
do người lập trình định nghĩa
Các phương thức, thuộc tính của SqlCommand
Trang 17Tên đối tượng SqlConnection
Tên đối tượng SqlCommand
do người lập trình định
nghĩa
Trang 18 SqlDataReader
Vai trò lưu trữ kết quả truy vấn của câu lệnh Select, sử dụng con trỏ phía server và duy trì kết nối với server trong suốt quá trình đọc dữ liệu
Trang 19Ví dụ: Dùng SqlDataReader duyệt qua từng mẫu tin trong table “Phòng ban”
Trang 20SqlDataAdapter
Là đối tượng trung gian, thực thi câu lệnh SQL và trả về dữ liệu kết quả truy vấn cho ứng dụng
connection đang mở kết nối (state: Open), nếu connection chưa mở (state: Close) thì SqlDataAdapter sẽ tự động mở kết nối và tự động đóng kết nối
Data access component
Trang 21Ví dụ: Dùng SqlDataAdapter truy vấn dữ liệu và gán kết quả truy vấn vào DataTable
Trang 22 SqlDataSet
Vai trò là đối tượng để lưu một tập các DataTable tại máy client, tương tự bản sao của CSDL
Kiến trúc một DataSet
Trang 23DataTable
Vai trò lưu trữ kết quả truy vấn như 1 table tại máy client
• DataColumn: Một cột dữ liệu trong DataTable
• DataRow: Một dòng dữ liệu trong DataTable
Cấu trúc của một DataTable
Trang 244 Qui trình lập trình truy xuất CSDL
• Tạo kết nối cơ sở dữ liệu (CSDL)
• Tạo đối tượng truy vấn SQL (SqlCommand, SqlDataAdapter), thực thi truy vấn
• Đóng kết nối (connection) cơ sở dữ liệu
• Xử lý / thao tác dữ liệu đã lưu trong DataSet hoặc DataTable
Trang 255 Kỹ thuật lập trình LinQ
• Tạo kết nối cơ sở dữ liệu (CSDL)
• Tạo đối tượng truy vấn SQL (SqlCommand, SqlDataAdapter), thực thi truy vấn
• Đóng kết nối (connection) cơ sở dữ liệu
• Xử lý / thao tác dữ liệu đã lưu trong DataSet hoặc DataTable
Trang 27Vận dụng lập trình phần mềm quản lý CSDL
• Bài tập 2: Lập trình cập nhật (thêm, sửa, xóa) dữ liệu bảng Phòng ban (dữ liệu ở bảng 1)
Trang 28Vận dụng lập trình phần mềm quản lý CSDL
• Bài tập 3: Lập trình thêm một nhân viên (bảng nhiều)
Trang 29Vận dụng lập trình phần mềm quản lý CSDL
• Bài tập 4: Lập trình form xem nhân viên theo phòng ban