• ADO.NET là một thư viện chứa các lớp thực hiện các chức năng – Kết nối ứng dụng với data source – Thêm, xóa, sửa, tìm kiếm dữ liệu trong data source Data–Driven Application... Kiến tr
Trang 1GIỚI THIỆU ADO.NET và
KẾT NỐI ĐẾN CSDL
Chương 1
Trang 2Nội dung
Trang 3KHÁI NIỆM ỨNG DỤNG CSDL
Trang 5Khái niệm ứng dụng CSDL
Database
Application
Trang 6Khái niệm ứng dụng CSDL
trữ dữ liệu Thông thường là Database
• MS SQL Server, Oracle, DB2, MS Access, …
Trang 7KIẾN TRÚC ADO.NET
Trang 8Kiến trúc ADO.NET
Data source ADO.NET
Trang 9• ADO.NET là một thư viện chứa các lớp thực
hiện các chức năng
– Kết nối ứng dụng với data source
– Thêm, xóa, sửa, tìm kiếm dữ liệu trong data source
Data–Driven Application
Trang 10Kiến trúc ADO.NET
Trang 11Kiến trúc ADO.NET
Những đối tượng quan trọng trong ADO.NET
Kiến trúc ADO.NET được chia làm 2 phần
• Connected
• Disconnected
phân loại thành: Connected và Disconnected
Trang 12Kiến trúc ADO.NET
Những đối tượng quan trọng trong ADO.NET
Đố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
Trang 14Kiến trúc ADO.NET
Những đối tượng quan trọng trong ADO.NET
Trang 15Kiế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à Sql Connection, Sql Command,
Sql Parameter, …
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– System.Data.OleDb
Đị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 16Kiế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 17Kiến trúc ADO.NET
.NET Data Providers
Chọn lựa NET Data Provider
• SQL Server NET Data
• ODBC NET Data Provider
– Dùng cho các data sources
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
XML trong SQL Server System.Data.SqlXml
Trang 19KẾT NỐI ĐẾN CSDL
Trang 20Kết nối đến CSDL
• Dùng phương pháp kéo thả
• Tự viết code
Trang 21KẾT NỐI ĐẾN CSDL
(PHƯƠNG PHÁP KÉO THẢ)
Trang 22Kết nối đến CSDL
Phương pháp kéo thả
• Dùng Data Source là SQL Server 2008
• Tên CSDL: StarterDB
• Tên Table: TableName
Create Table TableName (
IDName int primary key, ValueName varchar(100) )
Go
Trang 23Kết nối đến CSDL
Phương pháp kéo thả
• Tên ứng dụng: VDKeoTha
• Mở form Form1 trong Design mode
• Chọn Data Show Data Sources
• Trong cửa số Data Source: Click vào liên kết
Add New Data Source
Trang 25Kết nối đến CSDL
Phương pháp kéo thả
• Click vào nút New Connection
• Chọn Microsoft SQL Server
• Click nút “Continue”
Trang 26Kết nối đến CSDL
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 27Kết nối đến CSDL
Phương pháp kéo thả
• Thông tin kết nối được lưu trong 1 chuỗi kết
nối (Connection string)
Trang 28Kết nối đến CSDL
Phương pháp kéo thả
Trang 30Kết nối đến CSDL
Phương pháp kéo thả
• 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 31Kết nối đến CSDL
Phương pháp kéo thả
• Kéo bảng TableName vào trong Form1
• Thao tác trên sinh ra một số controls
Trang 32Kết nối đến CSDL
Phương pháp kéo thả
• Chuỗi kết nối trong file app.config
Trang 33Kết nối đến CSDL
Phương pháp kéo thả
• Code trong form
Trang 34KẾT NỐI ĐẾN CSDL
(PHƯƠNG PHÁP TỰ CODE)
Trang 35Kết nối đến CSDL
Bước 1: using một số namespace
Bước 2: Tạo kết nối: Tạo chuỗi kết nối + Đối
Trang 37Kết nối đến CSDL
Chuỗi kết nối
Trang 38Là 1 tập các thông tin cung cấp cho một thiết
lập kết nối (tham số), và có hình thức các cặp
Trang 39Chuỗi kết nối
Chuỗi kết nối cho OleDB và MS SQL Server
" Provider =Microsoft.Jet.OleDb.4.0;
Data Source =DuLieu.mdb"
" Server hay Data source =tenServer;
Database hay Initial Catalog =tenCSDL;
Trang 41Kết nối đến CSDL
Chuỗi kết nối
Một số từ khóa liên quan đến chuỗi kết nối cho SQL Server
Keyword Ý nghĩa
Data Source, Server, addr,
address, network address Tên hay địa chỉ của database server.
Initial Catalog, Database Tên của database
Integrated Security,
trusted_connection Bảo mật dựa trên HĐH Windows Có thể gán bằng true, false, hay sspi Default là false.
User ID, uid, user user name để kết nối đến SQL Server khi không dùng
Trang 42Kết nối đến CSDL
Đối tượng Connection
Trang 43Kết nối đến CSDL
Đối tượng Connection
(tương ứng với data source cho trước)
SqlConnection conn = new Sql Connection ();
Trang 44Kết nối đến CSDL
Đối tượng Connection
Trang 46Kết nối đến CSDL
Đối tượng Connection
• Thiết lập kênh vật lý (socket hay pipe)
• Bắt tay với Server
• Phân tích chuỗi kết nối
• Xác thực với Server
• … thời giantốn
Trang 47• Đặt connection vào connection pooler
• Giải phóng các tài nguyên (Cho phép GC dọn dẹp)
Trang 50Lưu trữ chuỗi kết nối
Trang 51Lưu trữ chuỗi kết nối
Trang 52Tóm tắt chương 1
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
ADO.NET gồm 2 phần
• Disconnected
• Connected
Phần Disconnected sử dụng phần Connected để kết
nối với data source
Một số tiếp cận viết code ADO.NET
• Phương pháp Drap-and-drop