Phần 4: Kết nối Database trong ASP.NET

 ADO.Net (ActiveX Data Object): là một tập các lớp nằm trong bộ thư viện lớp cơ sở của .NET Framework cung cấp khả năng làm việc với dữ liệu được lưu trữ trong bộ nhớ như một CSDL thu nhỏ gọi là “dataset” làm tăng tốc độ tính toán, xử lý tính toán và hạn chế sử dụng tài nguyên trên Database Server .  ADO.Net cung cấp khả năng xử lý dữ liệu chuẩn XML (dữ liệu dạng XML có thể trao đổi giữa bất kỳ hệ thống nào  ứng dụng có nhiều khả năng làm việc với những ứng dụng khác).

pdf24 trang | Chia sẻ: lylyngoc | Lượt xem: 2170 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Phần 4: Kết nối Database trong ASP.NET, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
• GVHD: Dương Khai Phong • Email: khaiphong@gmail.com • Website: Lý thuyết: 45 tiết Thực hành: 30 tiết 1/ Giới thiệu tổng quan Web 2/ HTML và JavaScript 3/ Các đối tượng trong ASP.Net 4/ ADO.Net (kết nối cơ sở dữ liệu) 5/ Triển khai ứng dụng Web + Ôn tập PHẦN 4: 1. Giới thiệu. 2. Kiến trúc ADO.Net 3. Cơ bản kết nối database trong ASP.Net 4. Các đối tượng liên quan đến database. 5. Các control trình bày dữ liệu (data control)  ADO.Net (ActiveX Data Object): là một tập các lớp nằm trong bộ thư viện lớp cơ sở của .NET Framework cung cấp khả năng làm việc với dữ liệu được lưu trữ trong bộ nhớ như một CSDL thu nhỏ gọi là “dataset” làm tăng tốc độ tính toán, xử lý tính toán và hạn chế sử dụng tài nguyên trên Database Server.  ADO.Net cung cấp khả năng xử lý dữ liệu chuẩn XML (dữ liệu dạng XML có thể trao đổi giữa bất kỳ hệ thống nào  ứng dụng có nhiều khả năng làm việc với những ứng dụng khác). Tầng chứa các đối tượng làm việc trực tiếp với các hệ quản trị CSDL bên dưới. Tầng chứa các đối tượng như bản sao thu nhỏ của CSDL. Các hệ QT CSDL: • Access • SQL • Oracle, ..  Các bước cơ bản thực hiện với CSDL:  Bước 1: Tạo kết nối.  Bước 2: Tạo điều khiển truy vấn SQL  Bước 3: Mở kết nối dữ liệu  Bước 4: Thực thi truy vấn SQL  Bước 5: Đóng kết nối  Bước 6: In kết quả  Ví dụ cơ bản thực hiện kết nối với CSDL Access: Yêu cầu:  Tạo một CSDL Access 2003: database.mdb  Tạo project website gồm: Thiết kế Dữ liệu Copy tập tin CSDL Access vào đúng thư mục chứa Project  Ví dụ cơ bản thực hiện kết nối với CSDL Access: Label (ID: data_src): Hiển thị đường dẫn tới Database.mdb Label (ID: con_open): hiển thị thông báo kết nối CSDL thành công Thẻ (ID: content): hiển thị kết quả của việc truy vấn CSDL Label (ID: con_close): hiển thị thông báo đóng kết nối CSDL thành công Giao diện:  Ví dụ cơ bản thực hiện kết nối với CSDL Access: Viết code cho sự kiện Page_Load trong trang default.aspx.cs: Bước 1: Tạo kết nối CSDL string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;"; strConnection += @"Data Source=" + MapPath("Database.mdb"); data_src.Text = strConnection; string strResultsHolder = ""; OleDbConnection objConnection = new OleDbConnection (strConnection); Bước 2: Tạo điều khiển truy vấn SQL string strSQL = "SELECT MaKH,Hoten FROM Khachhang"; OleDbCommand objCommand = new OleDbCommand (strSQL, objConnection); OleDbDataReader objDataReader = null; Lưu ý: cần sử dụng thư viện: System.Data.OleDb;  Ví dụ cơ bản thực hiện kết nối với CSDL Access: Viết code cho sự kiện Page_Load trong trang default.aspx.cs: Bước 3+4+5+6: try { // Bước 3: Mở kết nối dữ liệu objConnection.Open(); con_open.Text = "Connection opened successfully."; // Bước 4: Thực thi truy vấn SQL objDataReader = objCommand.ExecuteReader(); while (objDataReader.Read() == true) { // Đọc dữ liệu trong CSDL strResultsHolder += objDataReader["MaKH"]+ " ";; strResultsHolder += objDataReader["Hoten"]+ ""; } // Bước 5: Đóng kết nối objDataReader.Close(); objConnection.Close(); con_close.Text = "Connection closed."; // Bước 6: In kết quả Content.InnerHtml = strResultsHolder; } catch (Exception ex) { con_open.Text = "Connection failed to open successfully."; con_close.Text = e.ToString(); }  Ví dụ cơ bản thực hiện kết nối với CSDL SQL: Yêu cầu:  Tạo một CSDL SQL 2008: database.mdf Bước 1: RClick App_Data Bước 2: chọn Add New Item  Ví dụ cơ bản thực hiện kết nối với CSDL SQL: Yêu cầu:  Tạo một CSDL SQL 2008: database.mdf Bước 1: RClick App_Data Bước 2: chọn Add New Item Bước 3: Tạo quan hệ cho CSDL: DClick tên CSDL  Ví dụ cơ bản thực hiện kết nối với CSDL SQL: Yêu cầu:  Tạo một CSDL SQL 2008: database.mdf Bước 1: RClick App_Data Bước 2: chọn Add New Item Bước 3: Tạo quan hệ cho CSDL: DClick tên CSDL Thiết kế  Ví dụ cơ bản thực hiện kết nối với CSDL SQL: Viết code cho sự kiện Page_Load trong trang default.aspx.cs:  Các bước cơ bản thực hiện với CSDL:  Bước 1: Tạo kết nối.  Bước 2: Tạo điều khiển truy vấn SQL  Bước 3: Mở kết nối dữ liệu  Bước 4: Thực thi truy vấn SQL  Bước 5: Đóng kết nối  Bước 6: In kết quả Access: OleDbConnection SQL: SqlConnection Access: OleDbCommand SQL: SqlCommand Dùng phương thức Open() Access: ExecuteReader() SQL: ExecuteScalar() Dùng phương thức Close() a) Đối tượng kết nối CSDL Connection:  Đối tượng sử dụng:  Access: OleDbConnection  SQL: SqlConnection  Thuộc tính và phương thức : SqlConnection  Thuộc tính Tên Chức năng ConnectionString Gắn driver (chuỗi kết nối) kết nối đến CSDL Ví dụ: string driver="server=localhost; UID=sa; PWD=; database=name_database"; sqlcon=new Sqlconnection(); sqlcon.ConnectionString=driver; a) Đối tượng kết nối CSDL Connection: SqlConnection  Thuộc tính Tên Chức năng State Trạng thái kết nối đến CSDL Database Chứa đựng tên CSDL Server Tên máy chứa CSDL  Phương thức Open() Mở kết nối đến CSDL Close() Đóng kết nối tới CSDL ChangeDatabase(“Ne w_Database_name”) Thay đổi CSDL (ít dùng) CreateCommand() Trả về đối tượng SqlCommand b) Đối tượng điều khiển thực thi truy vấn SQL:  Đối tượng sử dụng:  Access: OleDbCommand  SQL: SqlCommand  Thuộc tính và phương thức : SqlCommand  Thuộc tính Tên Chức năng Connection Gắn driver (chuỗi kết nối) kết nối đến CSDL CommandType Xác định kiểu thực thi truy vấn (câu lệnh, procedure,..) CommandText Câu lệnh truy vấn b) Đối tượng điều khiển thực thi truy vấn SQL: SqlCommand  Phương thức Tên Chức năng ExecuteReader() Phương thức dùng chỉ đọc CSDL ExecuteNonQuery() Dùng thực thi các T-SQL: Insert, Update, Delete, … ExecuteScalar Thực thi truy vấn mà kết quả trả về chỉ có 1 dòng 1 cột. c) Đối tượng xử lý dữ liệu từ truy vấn SQL:  Đối tượng sử dụng:  Access: OleDbDataReader OleDbDataAdapter  SQL: SqlDataReader SqlDataAdapter  Thuộc tính và phương thức:  Đối tượng DataRead nhận dữ liệu chỉ đọc từ CSDL bên dưới thông qua các đối tượng điều khiển thực thi truy vấn SQL như SqlCommand.. Ví dụ: SqlDataReader sqlreader; sqlreader = sqlcom.ExecuteReader();  Đối tượng DataAdapter được xem như bộ đọc dữ liệu từ CSDL nguồn và điền chúng vào các đối tượng như DataSet, DataTable. c) Đối tượng xử lý dữ liệu từ truy vấn SQL: SqlDataAdapter  Thuộc tính Tên Chức năng SelectCommand InsertCommand UpdateCommand DeleteCommand thực hiện các thao tác select, insert, update, delete dữ liệu  Phương thức Fill() Thực thi câu lệnh select trong sql rồi điền kết quả cho DataSet hoặc Datatable. Update() Câp nhật các thay đổi vào dữ liệu lên các dữ liệu nguồn Dispose() Giải phóng đối tượng. d) Đối tượng DataSet và DataTable:  Chức năng:  Là đối tượng được dùng để chứa dữ liệu của mọi cơ sở dữ liệu và cho phép thay đổi dữ liệu bên trong đối tượng này để sau đó cập nhật trở lại cơ sở dữ liệu nguồn bằng phương thức Update của đối tượng DataAdapter  Thuộc tính và phương thức: (xem ví dụ) Trình bày dữ liệu dạng khung lưới Trình bày dữ liệu dạng bảng, có phân trang Trình bày dữ liệu thành từng chương mục. Tìm hiểu các control này thông qua các ví dụ minh hoạ cụ thể.