O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Bài 2 - Công nghệ ADO.NET với C#

Kiến thức cơ bản về SQL Server
Các khái niệm cơ bản
Tiện ích SQL Server Management Studio
Các thao tác bằng lệnh trên các bảng dữ liệu

  • Entre para ver os comentários

Bài 2 - Công nghệ ADO.NET với C#

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)

×