Bài giảng môn học © 2007 Khoa Công nghệ thông tin Thiết kế và Lập trình Web 2 Thao tác CSDL với ADO.NET Khoa Công nghệ Thông tin Trường Đại học Khoa học Tự nhiên Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 2 Nội dung Sơ lược lịch sử phát triển Kiến trúc ADO.NET .NET Data Provider DataSet Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 3 Nội dung Sơ lược lịch sử phát triển Kiến trúc ADO.NET .NET Data Provider DataSet Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN ADO.NET là gì? ADO.NET (ActiveX Data Object .NET) – Công nghệ của Microsoft – Phát triển tự nhiên từ ADO – Cung cấp các đối tượng và hàm thư viện dùng để kết nối và xử lý trên CSDL Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 5 Sơ lược lịch sử phát triển ODBC Driver Driver Driver Application Application Database Database DB API DB API DB API ODBC API DB API DB API DB API Native API Open DataBase Connectivity Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 6 ADO OLE DB Sơ lược lịch sử phát triển (cont) Application Non-Relational Data Relational Data OLEDB và ADO ODBC Driver Driver Driver Provider Provider Provider Provider Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 7 Nội dung Sơ lược lịch sử phát triển Kiến trúc ADO.NET .NET Data Provider DataSet Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 8 ADO.NET ODBC Kiến trúc ADO.NET Application Non-Relational Data Relational Data OLE DB Oracle SQL Server ODBC OLE DB .NET Data Provider ADO.NET Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 9 Kiến trúc ADO.NET (cont) ???Connection ???DataAdapter ???Command ???DataReader .NET Data Provider Data Source DataSet XML Cơ chế kết nối (Connected) Cơ chế không kết nối (Disconnected) Các hệ quản trị CSDL hạn chế số lượng kết nối. Duy trì quá nhiều kết nối làm cho server quá tải. Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET © 2007 Khoa CNTT - ĐHKHTN 10 Nội dung Sơ lược lịch sử phát triển Kiến trúc ADO.NET .NET Data Provider DataSet [...]... phát triển Kiến trúc ADO.NET NET Data Provider DataSet 29 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET DataSet DataSet là gì? Ánh xạ DataSet Data Source DataSet là cơ sở dữ liệu được lưu trữ trong bộ nhớ chính (in-memory database) Cơ chế không kết nối 30 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET DataSet (cont) DataSet... – Thao tác CSDL với ADO.NET DataSet - DataTable DataTable thể hiện một bảng trong cơ sở dữ liệu Các thuộc tính và phương thức: TableName: tên bảng Columns: danh sách các cột (DataColumn) Rows: danh sách các mẫu tin (DataRow) PrimaryKey: danh sách các cột làm khóa chính (DataColumn) NewRow(): tạo một mẫu tin mới 32 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET. .. D:\MyWebsite\Database\myDB.mdb Server.MapPath(“ /myDB.mdb”); D:\myDB.mdb © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider - Command 011010011 Connection 011010011 Application Data Source Command 16 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider - Command Thuộc tính và phương thức của Command: Connection: kết nối dùng để... Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider – Parameter (cont) Đặ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(); } 23 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider – DataReader... và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider – DataAdapter (cont) SqlDataAdapter da = new SqlDataAdapter( “SELECT * FROM Orders”, “server=localhost; database=Northwind; user id=sa; password=sa”); DataSet ds = new DataSet(); da.Fill(ds); // Does something on the DataSet da.Update(ds); 28 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET Nội dung Sơ...Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider NET Data Provider ???Connection ???DataAdapter ???Transaction SelectCommand ???Command InsertCommand Parameters ???Parameter DeleteCommand ???DataReader 11 UpdateCommand © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider - Connection Connection Application... CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider – Connection (cont) SqlConnection cnn = new SqlConnection(); cnn.ConnectionString = “server=localhost; database=Northwind; user id=sa; password=sa”; cnn.Open(); // Does something here cnn.Close(); 13 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET Connection string (Access, SQL Server,…)... Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider - DataAdapter DataAdapter SelectCommand DataSet InsertCommand UpdateCommand Data Source DeleteCommand Thuộc tính và phương thức của DataAdapter: Fill(DataSet): dùng SelectCommand lấy dữ liệu từ Data Source đổ vào DataSet Update(DataSet): dùng InsertCommand, UpdateCommand và DeleteCommand cập nhật dữ liệu trong DataSet vào Data... Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET NET Data Provider - DataReader Thuộc tính và phương thức của DataReader: HasRow: cho biết câu truy vấn có trả về dữ liệu? 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 25 © 2007... CommandType.Text; cnn.Open(); cmd.ExecuteNonQuery(); cnn.Close(); 19 © 2007 Khoa CNTT - ĐHKHTN Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO.NET 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 . trúc ADO. NET .NET Data Provider DataSet Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO. NET © 2007 Khoa CNTT - ĐHKHTN ADO. NET là gì? ADO. NET (ActiveX. ADO. NET .NET Data Provider DataSet Thiết kế và Lập trình Web 2 – Thao tác CSDL với ADO. NET © 2007 Khoa CNTT - ĐHKHTN 8 ADO. NET ODBC Kiến trúc ADO. NET Application Non-Relational