SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
Bài 2 - Công nghệ ADO.NET với C#
1. 11
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
2. 22
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Kết nối cơ sở dữ liệu và đọc dữ liệu
1.ADO.NET là gì?
2.Quy trình kết nối cơ sở dữ liệu và đọc dữ liệu
3.Connection Pooling là gì?
3. 33
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
1. ADO.NET là gì ?
• Là mô hình cho phép người lập trình thao tác
với nhiều loại cơ sở dữ liệu theo cùng một cách
• CSDL có thể là SQL Server, MS Access, Oracle,
…
• Ứng với mỗi loại CSDL sẽ là các .NET
Framework Data Provider thích hợp
• Bao gồm các đối tượng của các lớp Data
Provider được sử dụng để thao tác CSDL
4. 44
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
5. 55
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
.NET Framework Data Provider
• .NET Framework Data Provider for Microsoft
SQL Server
Tối ưu khi kết nối với SQL Server (từ phiên bản 7.0)
Kết nối trực tiếp không thông qua ODBC hoặc OLE DB
Các lớp cung cấp thuộc System.Data.SqlClient
6. 66
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
.NET Framework Data Provider
• .NET Framework Data Provider for OLE DB
Sử dụng native OLE DB
SQLOLEDB provider
MSDAORA provider
Microsoft.Jet.OLEDB.4.0 provider
Các lớp cung cấp thuộc System.Data.OleDb
7. 77
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
.NET Framework Data Provider
• .NET Framework Data Provider for ODBC
Sử dụng native ODBC Driver Manager
SQL Server driver
Microsoft ODBC for Oracle driver
Microsoft Access driver
Các lớp cung cấp thuộc System.Data.Odbc
8. 88
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
.NET Framework Data Provider
• .NET Framework Data Provider for Oracle
Kết nối Oracle Data Source thông qua Oracle client
connectivity software (từ phiên bản 8.1.7)
SQL Server driver
Microsoft ODBC for Oracle driver
Microsoft Access driver
Các lớp cung cấp thuộc System.Data.OracleClient
9. 99
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Các lớp Data Provider
• IDbConnection Interface
• IDbCommand Interface
• IDataReader Interface
• IDataAdapter Interface
10. 1010
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Các lớp Data Provider
• IDbConnection Interface
Dùng để tạo một kết nối (connection) đến CSDL
Được cài đặt cho các lớp của các Data Provider
Ví dụ: với Data Provider for SQL Server thì sử dụng lớp
SqlConnection
11. 1111
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Các lớp Data Provider
• IDbCommand Interface
Dùng để thực hiện câu lệnh, có thể truyền tham số, có
thể nhận kết quả trả về
Được cài đặt cho các lớp của các Data Provider
Ví dụ: với Data Provider for SQL Server thì sử dụng lớp
SqlCommand
12. 1212
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Các lớp Data Provider
• IDataReader Interface
Dùng để đọc dữ liệu theo cách forward-only và read-only
13. 1313
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Các lớp Data Provider
• IDataAdapter Interface
Dùng để đọc dữ liệu từ CSDL và lưu trong DataSet
DataSet là một CSDL thu nhỏ được đặt trong bộ nhớ
của máy client
Người dùng có thể thao tác trên DataSet và ghi lại các
thay đổi trở lại CSDL
Dữ liệu đọc và lưu trong DataSet cũng có thể là dữ liệu
XML
14. 1414
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Minh họa kết nối đến CSDL
• CSDL là MS Access
• CSDL là MS Excel
• CSDL là MS SQL Server
• CSDL là MS SQL Server Attach File
15. 1515
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
2. Quy trình kết nối đến CSDL
• Tạo đối tượng Connection và xác định chuỗi
kết nối (Connection String)
• Tạo đối tượng Command và xác định câu lệnh
SQL
• Mở đối tượng Connection (Open)
• Thực hiện câu lệnh SQL và xử lý kết quả
(Execute)
• Đóng đối tượng Connection (Close)
16. 1616
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Tạo đối tượng Connection
• Thông tin chuỗi kết nối
Tên Server
Tên Database
Kiểu đăng nhập (Windows hoặc SQL Server)
Tên user
Mật khẩu
17. 1717
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Tạo đối tượng Connection
• Khai báo và khởi tạo
using System.Data.SqlClient;
‘Tạo chuỗi thông tin kết nối đến AdventureWorks
string chuoi = “Server=(local);Database=AdventureWorks;Integrated Security=SSPI”;
‘Tạo đối tượng kết nối
SqlConnection ket_noi = new SqlConnection(chuoi);
18. 1818
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Tạo đối tượng Command
• Khai báo và khởi tạo
using System.Data.SqlClient;
‘Tạo chuỗi lệnh
string lenh = “select count(*) from production.product”;
‘Tạo đối tượng bộ lệnh
SqlCommand bo_lenh = new SqlCommand(lenh, ket_noi);
19. 1919
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Thực hiện câu lệnh
• Mở đối tượng Connection
• Thực hiện câu lệnh và xử lý kết quả
• Đóng đối tượng Connection
ket_noi.Open();
int n = (int)bo_lenh.ExecuteScalar();
ket_noi.Close();
TextBox1.Text = "Số sản phẩm : " + n.ToString();
20. 2020
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Thực hiện câu lệnh
• ExecuteScalar
• ExecuteReader
• ExecuteNonQuery
• ExecuteXmlReader
21. 2121
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Minh họa kết nối đến CSDL
• Kết nối đến CSDL AdventureWorks
• Thực hiện lệnh đếm mẩu tin của bảng Product
• In kết quả
22. 2222
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
3. Connection Pooling là gì?
• Pooling cho phép sử dụng lại các connection
để mang lại hiệu quả trong việc kết nối đến CSDL
Mỗi Data Provider sẽ cài đặt connection pooling theo
cách riêng
Nếu kết nối thực hiện đã có trong pool thì sẽ được sử
dụng lại
Nếu kết nối thực hiện chưa có trong pool thì sẽ được tạo
mới
23. 2323
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
3. Connection Pooling là gì?
• Hoạt động Connection Pooling của Data
Provider for SQL Server
Dựa trên thông tin của chuỗi kết nối, thuộc tính Pooling
có giá trị là True hoặc False (mặc định là True)
Nếu thuộc tính Pooling có giá trị là True thì có thể sử
dụng lại kết nối từ pool
Nếu thuộc tính Pooling có giá trị là False thì kết nối sẽ
được tạo mới
24. 2424
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Minh họa Connetion Pooling
25. 2525
HỌC LẬP TRÌNH WEB TỪ CƠ BẢN ĐẾN NÂNG CAO
HocLapTrinhWeb.COM
http://www.facebook.com/groups/hoclaptrinhweb/
Thực hành
• Kết nối đến CSDL
• Lưu chuỗi kết nối trong tập tin cấu hình của ƯD
• Đọc dữ liệu từ CSDL
• Xử lý biến cố (event)
Editor's Notes
1. Minh họa với CSDL là MS Access using System.Data.OleDb; "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\\\QLSinhVien.mdb“ 2. Minh họa với CSDL là MS Excel using System.Data.Odbc; "Dsn=Excel Files;Dbq=C:\\\\SINH_VIEN.xls“ 3. Minh họa với CSDL là MS SQL Server using System.Data.SqlClient; "Server=(local);Database=AdventureWorks;Integrated Security=SSPI“ 4. Minh họa với CSDL là MS SQL Server Attach File using System.Data.SqlClient; "Data Source=(local);AttachDbFilename=C:\\\\QLSinhVien.mdf;Integrated Security=True"
1. Minh họa với CSDL là MS Access using System.Data.OleDb; "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\\\QLSinhVien.mdb“ 2. Minh họa với CSDL là MS Excel using System.Data.Odbc; "Dsn=Excel Files;Dbq=C:\\\\SINH_VIEN.xls“ 3. Minh họa với CSDL là MS SQL Server using System.Data.SqlClient; "Server=(local);Database=AdventureWorks;Integrated Security=SSPI“ 4. Minh họa với CSDL là MS SQL Server Attach File using System.Data.SqlClient; "Data Source=(local);AttachDbFilename=C:\\\\QLSinhVien.mdf;Integrated Security=True"