intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Nhập môn công nghệ phần mềm: Giới thiệu công nghệ ADO.NET - ThS. Phạm Đào Minh Vũ

Chia sẻ: Pojdb Pojdb | Ngày: | Loại File: PDF | Số trang:38

63
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương này gồm có những nội dung chính sau: Sơ lược lịch sử phát triển, kiến trúc ADO.NET, các thư viện truy xuất CSDL trong ADO.NET, .NET Data Provider – Connection, DataSet - DataTable, các bước thao tác CSDL,... Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Nhập môn công nghệ phần mềm: Giới thiệu công nghệ ADO.NET - ThS. Phạm Đào Minh Vũ

  1. Giới thiệu công nghệ ADO.NET
  2. Sơ lược lịch sử phát triển  Native API DB API DB API DB API Application Database  Open DataBase Connectivity DB API Driver DB API ODBC API ODBC Driver DB API Driver Application Database 2
  3. Sơ lược lịch sử phát triển  OLEDB và ADO Provider Provider ADO Non-Relational Data Provider OLE DB Provider Application Driver ODBC Driver Driver Relational Data 3
  4. Kiến trúc ADO.NET  ADO.NET .NET Data Provider SQL Server Oracle OLE DB OLE DB Relational Data Application ADO.NET ODBC ODBC Non-Relational Data 4
  5. Kiến trúc ADO.NET 5
  6. Kiến trúc ADO.NET Cây phân cấp các đối tượng trong ADO.NET 6
  7. Kiến trúc ADO.NET  Connected objects: là những đối tượng giao tiếp trực tiếp với CSDL.  Disconnected objects: cho phép các user làm việc với dữ liệu dạng offline (khi đã đóng kết nối cơ sở dữ liệu) 7
  8. Các thư viện truy xuất CSDL trong ADO.NET  System.Data.OleDb: Access, SQL Server, Oracle  System.Data.SqlClient: SQL Server  System.Data.OracleClient: Oracle  Ghi chú:  Về mặt giao tiếp lập trình ứng dụng, cả 3 thư viện trên không khác biệt nhau nhiều.  Dùng thư viện System.Data.SqlClient sẽ truy xuất SQL Server nhanh hơn System.Data.OleDb  Dùng thư viện System.Data.OracleClient sẽ truy xuất Oracle nhanh hơn System.Data.OleDb 8
  9. .NET Data Provider .NET Data Provider XXXConnection XXXCommand XXXDataReader Data Source DataSet XXXDataAdapter (CSDL) XXXParameter XXXTransaction Ví dụ: OleDbConnection, SqlConnection, OracleConnection 9
  10. .NET Data Provider – Connection Connection Application Data Source  Các đối tượng Connection tuân thủ IDbConnection interface.  ConnectionString: loại Data Source cần kết nối.  Open(): thiết lập kết nối đến Data Source.  Close(): ngắt kết nối đến Data Source. 10
  11. .NET Data Provider – Connection (tt) IDbConnection cnn = new SqlConnection(“server=localhost; database=Northwind; user id=sa; password=sa”); cnn.Open(); // Does something here. cnn.Close(); 11
  12. .NET Data Provider - Command 011010011 Connection 011010011 Application Data Source Command 12
  13. .NET Data Provider – xxxCommand  Các thuộc tính, phương thức thông dụng:  Connection: kết nối dùng để thực hiện câu lệnh.  CommandText: câu lệnh cần thực hiện trên Data Source.  CommandType: loại câu lệnh trong CommandText (Text, TableDirect, StoredProc).  ExecuteScalar(): thực hiện câu lệnh trong CommandText, kết quả trả về là một giá trị đơn.  ExecuteNonQuery(): thực hiện câu lệnh trong CommandText và không có kết quả trả về.  ExecuteReader(): thực hiện câu lệnh trong CommandText, kết quả trả về là một DataReader. 13
  14. .NET Data Provider – xxxCommand (tt) IDbConnection cnn = new SqlConnection(“server=localhost; database=Northwind; user id=sa; password=sa”); IDbCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = “SELECT COUNT(*) FROM Orders”; cmd.CommandType = CommandType.Text; cnn.Open(); int count = (int)cmd.executeScalar(); cnn.Close(); 14
  15. .NET Data Provider – xxxCommand (tt) IDbConnection cnn = new SqlConnection(“server=localhost; database=QLHS; user id=sa; password=sa”); IDbCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = “INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb) VALUES(5, „Nguyễn Văn A‟, 8.5)”; cmd.CommandType = CommandType.Text; cnn.Open(); cmd.executeNonQuery(); cnn.Close(); 15
  16. .NET Data Provider - Parameter  Mục đích sử dụng:  Một vài giá trị trong câu lệnh chỉ biết khi thực hiện câu lệnh.  Cần thực hiện câu lệnh nhiều lần với các giá trị khác nhau.  Các bước thực hiện:  Tham số hóa câu lệnh: ? hoặc @[tên tham số]  Tạo các parameters tương ứng cho command.  Đặt giá trị cho các parameter mỗi khi dùng command thực hiện câu lệnh. 16
  17. .NET Data Provider – Parameter(tt)  Tham số hóa  SQL Data Provider: cmd.CommandText = “SELECT * FROM HocSinh WHERE tenhocsinh = @ten”; cmd.CommandText = “INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb)” + “VALUES(@id, @ten, @dtb)”;  Các provider khác: cmd.CommandText = “SELECT * FROM HocSinh WHERE tenhocsinh = ?”; cmd.CommandText = “INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb)” + “VALUES(?, ?, ?)”; 17
  18. .NET Data Provider – Parameter(tt)  Tạo các parameter cmd.Parameters.Add(“@id”, 5); cmd.Parameters.Add(“@ten”, “Nguyễn Văn A”); cmd.Parameters.Add(“@dtb”, 8.5);  Đặt giá trị cho các parameter foreach (Student s in studentList) { cmd.Parameters[“@id”] = i; cmd.Parameters[“@ten”] = s.studentName; cmd.Parameters[“@dtb”] = s.studentMarks; cmd.ExecuteNonQuery(); } 18
  19. .NET Data Provider – DataReader Read() ExecuteReader() DataReader Connection 011010011 011010011 Application Data Source Command BookID BookName Author i Book i Author i 19
  20. .NET Data Provider – DataReader  Các đối tượng DataReader tuân thủ interface IDataReader.  HasRow: cho biết còn dữ liệu để đọc nữa không.  Read(): đọc một mẫu tin vào DataReader.  Toán tử [ i ]: truy xuất đến cột i trong mẫu tin đọc được.  Close(): đóng DataReader.  Lưu ý:  Truy xuất tuần tự và không quay lui.  Không cập nhật dữ liệu.  Cơ chế kết nối. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
14=>2