Bài giảng Lập trình trên Windows: Chương 5 cung cấp cho người học các kiến thức: Thiết kế ứng dụng cơ sở dữ liệu, kiến trúc ADO.NET, những đối tượng quan trọng trong ADO.NET,...Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Lập trình Windows
Chương 5 Giới thiệu ADO NET
Trang 2Nội dung
• Thiết kế ứng dụng CSDL
• Kiến trúc ADO.NET
Trang 3Thiết kế ứng dụng CSDL
• Ứng dụng CSDL (Data–Centric Applications hay Database Centric Applications hay Data – Driven Application) là loại ứng dụng mà dữ liệu hay CSDL đóng vai trò tiên quyết
• Ví dụ:
• Chương trình quản lý nhà sách
• Hệ thống chương trình quản lý ngân hàng
Trang 4Giới thiệu ADO.NET
Khái niệm ứng dụng CSDL
Data source
Trang 5Thiết kế ứng dụng CSDL
• Các loại Data Storage được hỗ trợ trong NET
• File dữ liệu không cấu trúc
• File dữ liệu có cấu trúc
Trang 6Thiết kế ứng dụng CSDL
• Môi trường connected là môi trường mà ứng dụng luôn luôn kết nối
đến nơi cung cấp dữ liệu (data source)
Trang 7Thiết kế ứng dụng CSDL
• Môi trường Disconnected là môi trường mà ứng dụng sao chép một tập con dữ liệu từ data storage về phía ứng dụng để dùng
• Ưu điểm:
• Truy cập dữ liệu khi thuận lợi
• Nhiều người dùng có thể dùng kết nối
• Tăng cường hiệu quả và khả năng mở rộng ứng dụng
• Khuyết điểm
• Dữ liệu không luôn luôn cập nhật dữ liệu
• Phải giải quyết tranh chấp
Trang 8“Fat” Client
XML Web service
XML Web service
Trang 9Kiến trúc ADO.NET
• Application và Database
• Database Lưu thông tin dưới dạng: Tables gồm tập
• Rows và Columns và các Values bên trong nó
• Các Relationships giữa các Tables
• Application
• Biểu diễn dữ liệu dưới dạng Object
Tables, Rows, Values, Relationship Object Thư viện truy cập dữ liệu
Trang 10hiện các chức năng
– Kết nối đến data source, Thực thi câu lệnh – Lấy dữ liệu, Thao tác, Lưu trữ
Data–Driven Application
Trang 12Kiến trúc ADO.NET
Những đối tượng quan trọng trong ADO.NET
Application
Data Source
DataAdapter
Đối tượng Disconnected Đối tượng Connected
DataSet DataTable DataRow
…
Connection Command Parameter
… ADO.NET
Trang 13Kiến trúc ADO.NET
Những đối tượng quan trọng trong ADO.NET
• Các chức năng của ADO.NET nằm trong namespace
System.Data
Kiến trúc ADO.NET được chia làm 2 phần
Những lớp khác nhau của ADO.NET có thể
phân loại thành: Connected và Disconnected
Ngoại lệ là lớp DataAdapter
Trang 14Kiến trúc ADO.NET
Những đối tượng quan trọng trong ADO.NET
• Các đối tượng Connected
Trang 15Kiến trúc ADO.NET
Những đối tượng quan trọng trong ADO.NET
• Các đối tượng Disconnected
Trang 16Kiến trúc ADO.NET
.NET Data Providers
• ADO.NET hiện thực (bao gồm) tập các lớp connected cho
từng loại CSDL
• Ví dụ: Để kết nối với MS SQL Server, chúng ta có lớp giành
riêng là SqlConnection
• Tập các lớp connected cho một CSDL nào đó được nằm
trong 1 namespace riêng
• Ví dụ: System.Data.SqlClient
• Định nghĩa “.Net Data Provider” : Là một tập lớp connected
nằm trong cùng 1 namespace và được thiết kế để làm việc
với một loại CSDL cụ thể
Trang 17Kiến trúc ADO.NET
.NET Data Providers
Application
Data Source
DataAdapter
Đối tượng Disconnected
Đối tượng Connected
DataSet DataTable DataRow
…
Connection Command Parameter
…
.Net Data Provider
Trang 18.Net Data Provider cho SQL Server ADO.NET
.Net Data Provider cho Oracle
.Net Data Provider cho OleDb
Trang 19Kiến trúc ADO.NET
.NET Data Providers
• Các loại Net Data Provider
Tên Data Source Provider Namespace
MS SQL Server 7.0 trở lên System.Data.SqlClient
Oracle 8.1.6 trở lên System.Data.OracleClient ODBC System.Data.ODBC
OleDb System.Data.OleDb
XML trong SQL Server System.Data.SqlXml
Trang 20Kiến trúc ADO.NET
.NET Data Providers
• Chọn lựa NET Data Provider
• SQL Server NET Data Provider
• SQL Server version 7.0 trở lên
• Oracle NET Data Provider
• Oracle 8.1.6 trở lên
• OLE DB NET Data Provider
• SQL Server 6.5, Microsoft Access, Oracle version < 8.1.6, những
data sources có OLE DB providers
• ODBC NET Data Provider
• Dùng cho các data sources chỉ hổ trợ ODBC drivers
Trang 21Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Bước 1: Thiết lập Data Source
• Dùng Data Source là SQL Server 2005
• Tên CSDL: StarterDB
• Tên Table: TableName
(
IDName int primary key , ValueName varchar(100)
) Go
Insert into TableName values (‘1’, ‘Hello’) Go
Trang 22Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Bước 2: Tạo ứng dụng Windows Forms
• Tên ứng dụng: VDKeoTha
• Mở form Form1 trong Design mode
• Bước 3: Mở cửa sổ Data Source
• Chọn Data Show Data Sources
• Trong cửa số Data Source: Click vào liên kết Add New Data Source
Trang 24Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Bước 5: Thiết lập thông tin kết nối
• Click vào nút New Connection
• Chọn Microsoft SQL Server
• Click nút “Continue”
Trang 25Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Điền các thông tin về
CSDL
• Click Test Connection
để kiểm tra thông tin
nhập vào
• Click OK 2 lần để chấp
nhận Data Source
Trang 26Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
Trang 27Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Bước 6: Chọn lưu chuỗi kết nối
Trang 29Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Bước 8: Chọn các hiển thị dữ liệu trên Form
• Lúc này một data source có tên StarterDataSet được thêm vào ứng dụng
• Click nút Drop-Down kế bảng TableName Chọn DataGridView
Trang 30Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Bước 9: Kéo và Thả
• Kéo bảng TableName vào trong Form1
• Thao tác trên sinh ra một số controls
Trang 31Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Một số code do IDE sinh ra
• Chuỗi kết nối trong file app.config
Trang 32Kiến trúc ADO.NET
Ví dụ: Phương pháp kéo thả
• Code trong form
Trang 33• Bước 2: Dùng phương pháp kéo thả để thêm 1 data source vào ứng dụng
• Bước 3: Viết code
Trang 34Kiến trúc ADO.NET
Ví dụ: Phương pháp lai
Trang 35Kiến trúc ADO.NET
Ví dụ: Phương pháp tự viết code
• Bước 1: Tạo kết nối
Trang 36Kiến trúc ADO.NET
Ví dụ: Phương pháp tự viết code
Trang 37Tóm tắt chương 5
• ADO.NET là thư viện giúp việc kết nối giữa ứng dụng và data
source Thư viện này nằm trong System.Data
Trang 38Q&A