Có bao nhiêu cách kết nối csdl trong net năm 2024

  • 1. với lập trình CSDL ASP.NET
  • 2. đã học ở bài trước Trang Master Điều hướng trang Web Sử dụng Theme Hệ thống bài cũ Làm quen với lập trình CSDL ASP.NET 2
  • 3. học 1. ADO.NET Làm quen với lập trình CSDL ASP.NET 3 2. Điều khiển Data Source 3. Điều khiển Data List
  • 4. lập trình CSDL ASP.NET 4
  • 5. ứng dụng ASP.NET đều có tương tác với CSDL. Tương tự như ứng dụng Windows, Ứng dụng ASP.NET cũng sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Lập trình CSDL với ASP.NET Hầu hết các ứng dụng ASP.NET đều có tương tác với CSDL. Tương tự như ứng dụng Windows, Ứng dụng ASP.NET cũng sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Làm quen với lập trình CSDL ASP.NET 5
  • 6. kết nối tới các hệ quản trị CSDL: SQL Server, Microsoft Access, Oracle… Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ ADO.NET ADO hỗ trợ kết nối tới các hệ quản trị CSDL: SQL Server, Microsoft Access, Oracle… Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ Làm quen với lập trình CSDL ASP.NET 6
  • 7. cấp các lớp để tương tác với CSDL Data provider gồm 4 thành phần chính Connection: kết nối với CSDL Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL hoặc thay đổi CSDL DataReader: đọc dữ liệu tuần tự từ CSDL DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập nhật CSDL Data Provider Data provider cung cấp các lớp để tương tác với CSDL Data provider gồm 4 thành phần chính Connection: kết nối với CSDL Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL hoặc thay đổi CSDL DataReader: đọc dữ liệu tuần tự từ CSDL DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập nhật CSDL Làm quen với lập trình CSDL ASP.NET 7
  • 8. của CSDL hay một phần CSDL trên bộ nhớ DataSet hỗ trợ các thao tác cập nhật CSDL Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ liệu DataSet Dataset Là bản sao của CSDL hay một phần CSDL trên bộ nhớ DataSet hỗ trợ các thao tác cập nhật CSDL Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ liệu Làm quen với lập trình CSDL ASP.NET 8
  • 9. ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc: Kiến trúc kết nối Thực hiện kết nối tới CSDL trong khi đang thực hiện các thao tác với dữ liệu. Các đối tượng tham gia: Connection, Command, DataReader, DataAdapter Kiến trúc không kết nối DataAdapter kết nối với CSDL thông qua Connection, lấy dữ liệu lưu vào DataSet. Ứng dụng sẽ lấy và thay đổi dữ liệu trên DataSet DataAdapter kết nối với CSDL thông qua Connection và cập nhật lại CSDL ADO.NET Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc: Kiến trúc kết nối Thực hiện kết nối tới CSDL trong khi đang thực hiện các thao tác với dữ liệu. Các đối tượng tham gia: Connection, Command, DataReader, DataAdapter Kiến trúc không kết nối DataAdapter kết nối với CSDL thông qua Connection, lấy dữ liệu lưu vào DataSet. Ứng dụng sẽ lấy và thay đổi dữ liệu trên DataSet DataAdapter kết nối với CSDL thông qua Connection và cập nhật lại CSDL Làm quen với lập trình CSDL ASP.NET 9
  • 10. dụng đối tượng DataReader để truy xuất thông tin B1. Thiết lập chuỗi kết nối cho đối tượng Connection B2. Tạo đối tượng Command, truyền đối tượng Connection cho đối tượng Command. B3: Gọi phương thức Open() của đối tượng Connection để mở kết nối tới CSDL B4. Gọi phương thức ExecuteReader() của đối tượng command để trả về dữ liệu kiểu DataReader. B5. Sử dụng phương thức Read() của DataReader để đọc từng dòng Kiến trúc kết nối Các bước sử dụng đối tượng DataReader để truy xuất thông tin B1. Thiết lập chuỗi kết nối cho đối tượng Connection B2. Tạo đối tượng Command, truyền đối tượng Connection cho đối tượng Command. B3: Gọi phương thức Open() của đối tượng Connection để mở kết nối tới CSDL B4. Gọi phương thức ExecuteReader() của đối tượng command để trả về dữ liệu kiểu DataReader. B5. Sử dụng phương thức Read() của DataReader để đọc từng dòng Làm quen với lập trình CSDL ASP.NET 10
  • 11. và hiển thị thông tin lên một điều khiển drop-down list Nội dung demo Tạo chuỗi kết nối trong file web.config Khai báo các đối tượng Đối tượng Connection Đối tượng Command Đối tượng DataReader Mở kết nối tới CSDL và truy xuất thông tin Mở đối tượng kết nối Gọi ExecuteReader() trên đối tượng Command đã được cấu hình. Xử lý mỗi mẫu tin sử dụng phương thức Read() của DataReader. Demo Truy cập CSDL sử dụng kiến trúc kết nối Truy xuất CSDL và hiển thị thông tin lên một điều khiển drop-down list Nội dung demo Tạo chuỗi kết nối trong file web.config Khai báo các đối tượng Đối tượng Connection Đối tượng Command Đối tượng DataReader Mở kết nối tới CSDL và truy xuất thông tin Mở đối tượng kết nối Gọi ExecuteReader() trên đối tượng Command đã được cấu hình. Xử lý mỗi mẫu tin sử dụng phương thức Read() của DataReader. Làm quen với lập trình CSDL ASP.NET 11
  • 12. nối trong file web.config Demo Truy cập CSDL sử dụng kiến trúc kết nối Khai báo một thuộc tính trong lớp code-behind để lấy thông tin chuỗi kết nối Làm quen với lập trình CSDL ASP.NET 12 Khai báo một thuộc tính trong lớp code-behind để lấy thông tin chuỗi kết nối private string connectionString = WebConfigurationManager.ConnectionStrings["HalloweenConnectionString"].ConnectionString;
  • 13. đối tượng Connection, Command, DataReader Demo Truy cập CSDL sử dụng kiến trúc kết nối private void FillDdlCategories() { ddlCategories.Items.Clear(); //Định nghĩa câu lệnh SQL string selectSQL = "SELECT CategoryID, LongName FROM Categories"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(selectSQL, con); //Khai báo đối tượng data reader SqlDataReader reader; // Viết đoạn mã mở kết nối tới CSDL và truy xuất thông tin tại đây } Làm quen với lập trình CSDL ASP.NET 13 private void FillDdlCategories() { ddlCategories.Items.Clear(); //Định nghĩa câu lệnh SQL string selectSQL = "SELECT CategoryID, LongName FROM Categories"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(selectSQL, con); //Khai báo đối tượng data reader SqlDataReader reader; // Viết đoạn mã mở kết nối tới CSDL và truy xuất thông tin tại đây }
  • 14. tới CSDL và truy xuất thông tin Demo Truy cập CSDL sử dụng kiến trúc kết nối try { con.Open(); reader = cmd.ExecuteReader(); // Với mỗi phần tử của data reader. Lấy giá trị trường LongName và CategoryID //gán giá trị cho thuộc tính Text & Value của drop-down list while (reader.Read()) { ListItem newItem = new ListItem(); newItem.Text = reader["LongName"].ToString(); newItem.Value = reader["CategoryID"].ToString(); ddlCategories.Items.Add(newItem); } reader.Close(); } catch (Exception err) { lblMessage.Text = "Error reading list of names. "; lblMessage.Text += err.Message; } finally { con.Close(); } Làm quen với lập trình CSDL ASP.NET 14 try { con.Open(); reader = cmd.ExecuteReader(); // Với mỗi phần tử của data reader. Lấy giá trị trường LongName và CategoryID //gán giá trị cho thuộc tính Text & Value của drop-down list while (reader.Read()) { ListItem newItem = new ListItem(); newItem.Text = reader["LongName"].ToString(); newItem.Value = reader["CategoryID"].ToString(); ddlCategories.Items.Add(newItem); } reader.Close(); } catch (Exception err) { lblMessage.Text = "Error reading list of names. "; lblMessage.Text += err.Message; } finally { con.Close(); }
  • 15. đối tượng Connection Tạo đối tượng Command, truyền hai tham số cho đối tượng Command là câu lệnh Delete và đối tượng Connection. Gọi phương thức Open() của đối tượng Connection để mở kết nối Gọi phương thức ExecuteNonQuery() của đối tượng Command Xóa dữ liệu Xóa dữ liệu Tạo đối tượng Connection Tạo đối tượng Command, truyền hai tham số cho đối tượng Command là câu lệnh Delete và đối tượng Connection. Gọi phương thức Open() của đối tượng Connection để mở kết nối Gọi phương thức ExecuteNonQuery() của đối tượng Command Làm quen với lập trình CSDL ASP.NET 15
  • 16. void btnDelete_Click(object sender, EventArgs e) { string deleteSQL = "DELETE FROM Categories WHERE CategoryID = @CategoryID"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(deleteSQL, con); //Truyền tham số cho đối tượng cmd cmd.Parameters.AddWithValue("CategoryID", ddlCategories.SelectedValue); try { con.Open(); cmd.ExecuteNonQuery(); lblMessage.Text = "One row has been deleted"; FillDdlCategories(); } catch (Exception err) { lblMessage.Text = "Error deleting row "; lblMessage.Text += err.Message; } finally { con.Close(); } } } Làm quen với lập trình CSDL ASP.NET 16 protected void btnDelete_Click(object sender, EventArgs e) { string deleteSQL = "DELETE FROM Categories WHERE CategoryID = @CategoryID"; // Định nghĩa đối tượng Connection SqlConnection con = new SqlConnection(connectionString); // Chỉ định cấu hình đối tượng command SqlCommand cmd = new SqlCommand(deleteSQL, con); //Truyền tham số cho đối tượng cmd cmd.Parameters.AddWithValue("CategoryID", ddlCategories.SelectedValue); try { con.Open(); cmd.ExecuteNonQuery(); lblMessage.Text = "One row has been deleted"; FillDdlCategories(); } catch (Exception err) { lblMessage.Text = "Error deleting row "; lblMessage.Text += err.Message; } finally { con.Close(); } } }
  • 17. lập trình CSDL ASP.NET 17
  • 18. truy cập CSDL sử dụng ADO.NET, ASP.NET cung cấp một phương pháp truy cập CSDL khác giúp lập trình viên viết ít mã hơn đó là sử dụng các điều khiển data source. Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Truy cập CSDL sử dụng điều khiển Data Source Ngoài phương pháp truy cập CSDL sử dụng ADO.NET, ASP.NET cung cấp một phương pháp truy cập CSDL khác giúp lập trình viên viết ít mã hơn đó là sử dụng các điều khiển data source. Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Làm quen với lập trình CSDL ASP.NET 18
  • 19. source trả về một nguồn dữ liệu (data source). Điều khiển data source được buộc vào một điều khiển dữ liệu (gridview, detailsview…) để hiển thị dữ liệu cho người dùng. Mỗi điều khiển data source có thể được buộc vào nhiều điều khiển dữ liệu Điều khiển Data source cung cấp các tính năng truy xuất, chèn, cập nhật, xóa CSDL Bản chất của việc sử dụng điều khiển data source cũng là truy cập qua các đối tượng ADO.NET Truy cập CSDL sử dụng điều khiển Data Source Điều khiển data source trả về một nguồn dữ liệu (data source). Điều khiển data source được buộc vào một điều khiển dữ liệu (gridview, detailsview…) để hiển thị dữ liệu cho người dùng. Mỗi điều khiển data source có thể được buộc vào nhiều điều khiển dữ liệu Điều khiển Data source cung cấp các tính năng truy xuất, chèn, cập nhật, xóa CSDL Bản chất của việc sử dụng điều khiển data source cũng là truy cập qua các đối tượng ADO.NET Làm quen với lập trình CSDL ASP.NET 19
  • 20. khiển datasource thường dùng SQLDataSource ObjectDataSource SQLDataSource và ObjectDataSource cung cấp phương pháp truy cập và thao tác với dữ liệu trong một hệ quản trị CSDL. Khác với điều khiển SQLDataSource, điều khiển ObjectDataSource hỗ trợ phát triển ứng dụng CSDL theo kiến trúc ba tầng Truy cập CSDL sử dụng điều khiển Data Source Hai loại điều khiển datasource thường dùng SQLDataSource ObjectDataSource SQLDataSource và ObjectDataSource cung cấp phương pháp truy cập và thao tác với dữ liệu trong một hệ quản trị CSDL. Khác với điều khiển SQLDataSource, điều khiển ObjectDataSource hỗ trợ phát triển ứng dụng CSDL theo kiến trúc ba tầng Làm quen với lập trình CSDL ASP.NET 20
  • 21. kết trực tiếp giữa điều khiển và dữ liệu gọi là buộc dữ liệu Các điều khiển đã học hỗ trợ buộc dữ liệu: Các điều khiển list như: Drop-down list, List Box, Radio button list, check box list Các điều khiển khác sẽ được học DataList, GridView, DetailsView… Buộc dữ liệu Quá trình liên kết trực tiếp giữa điều khiển và dữ liệu gọi là buộc dữ liệu Các điều khiển đã học hỗ trợ buộc dữ liệu: Các điều khiển list như: Drop-down list, List Box, Radio button list, check box list Các điều khiển khác sẽ được học DataList, GridView, DetailsView… Làm quen với lập trình CSDL ASP.NET 21
  • 22. phương pháp để buộc dữ liệu lấy từ một nguồn dữ liệu sử dụng thuộc tính DataSourceID của điều khiển dữ liệu. Buộc dữ liệu Điều khiển SQLDataSource Điều khiển dữ liệu (data control) Liên kết qua thuộc tính DataSourceID của điều khiển dữ liệu ASP.NET cung cấp phương pháp để buộc dữ liệu lấy từ một nguồn dữ liệu sử dụng thuộc tính DataSourceID của điều khiển dữ liệu. Làm quen với lập trình CSDL ASP.NET 22 Điều khiển SQLDataSource CSDL Điều khiển dữ liệu (data control) Liên kết qua thuộc tính DataSourceID của điều khiển dữ liệu
  • 23. liệu (điều khiển drop-down list) liên kết với điều khiển SqlDatasoure Ví dụ về buộc dữ liệu Điều khiển SqlDatasoure Làm quen với lập trình CSDL ASP.NET 23 Điều khiển SqlDatasoure
  • 24. của điều khiển SqlDataSource Điều khiển SqlDataSource Thuộc tính Phương thức ID ID của điều khiển RunAt Luôn được gán bằng Server ConnectionString Chuỗi kết nối. Làm quen với lập trình CSDL ASP.NET 24 ConnectionString Chuỗi kết nối. SelectCommand Định nghĩa câu lệnh Select truy xuất dữ liệu được thực thi bởi datasource UpdateCommand Định nghĩa câu lệnh Update InsertCommand Định nghĩa câu lệnh Insert Deletecommand Định nghĩa câu lệnh Delete
  • 25. list Chose a category Hiển thị danh mục phân loại sản phẩm Danh mục này lấy từ CSDL Halloween Điều khiển DataList Hiển thị danh sách sản phẩm của phân loại sản phẩm được chọn Hai điều khiển SqlDataSource Lấy dữ liệu từ CSDL và hiển thị lên Drop-down list và Data List Giới thiệu ứng dụng Product List Ứng dụng gồm: Drop-down list Chose a category Hiển thị danh mục phân loại sản phẩm Danh mục này lấy từ CSDL Halloween Điều khiển DataList Hiển thị danh sách sản phẩm của phân loại sản phẩm được chọn Hai điều khiển SqlDataSource Lấy dữ liệu từ CSDL và hiển thị lên Drop-down list và Data List Làm quen với lập trình CSDL ASP.NET 25 Ứng dụng Product List ở chế độ Design
  • 26. danh mục sản phẩm Products Chứa danh sách sản phẩm Customers Chứa thông tin khách hàng Invoices Lưu thông tin hóa đơn mua hàng LineItems Lưu thông tin danh sách các item của từng hóa đơn CSDL Halloween của ứng dụng Categories Chứa phân loại danh mục sản phẩm Products Chứa danh sách sản phẩm Customers Chứa thông tin khách hàng Invoices Lưu thông tin hóa đơn mua hàng LineItems Lưu thông tin danh sách các item của từng hóa đơn Làm quen với lập trình CSDL ASP.NET 26
  • 27. cấu hình điều khiển SqlDataSource cho drop-down list Chose a Category (hiển thị danh sách danh mục sản phẩm lưu trong bảng Categories) 1. Lấy dữ liệu lưu vào datasource Thêm điều khiển SqlDataSource Lưu chuỗi kết nối trong file web.Config Cấu hình câu lệnh SELECT 2. Liên kết dropdown list với datasource Nội dung demo Demo thêm và cấu hình điều khiển SqlDataSource cho drop-down list Chose a Category (hiển thị danh sách danh mục sản phẩm lưu trong bảng Categories) 1. Lấy dữ liệu lưu vào datasource Thêm điều khiển SqlDataSource Lưu chuỗi kết nối trong file web.Config Cấu hình câu lệnh SELECT 2. Liên kết dropdown list với datasource Làm quen với lập trình CSDL ASP.NET 27
  • 28. lưu vào DataSource Thêm điều khiển SqlDataSource Làm quen với lập trình CSDL ASP.NET 28
  • 29. chuỗi kết nối Cố định mã trong ứng dụng Khi CSDL thay đổi, phải sửa lại chuỗi kết nối và biên dịch lại Lưu trong file web.config Khi CSDL thay đổi, chỉ cần sửa lại chuỗi kết nối trong file web.config, không phải biên dịch lại Luôn lưu chuỗi trong file Web.config Lấy dữ liệu lưu vào DataSource Lưu chuỗi kết nối trong file Web.config Hai cách lưu chuỗi kết nối Cố định mã trong ứng dụng Khi CSDL thay đổi, phải sửa lại chuỗi kết nối và biên dịch lại Lưu trong file web.config Khi CSDL thay đổi, chỉ cần sửa lại chuỗi kết nối trong file web.config, không phải biên dịch lại Luôn lưu chuỗi trong file Web.config Làm quen với lập trình CSDL ASP.NET 29 Chọn check box này. Chuỗi kết nối sẽ tự động lưu trong file Web.config
  • 30. lưu vào DataSource -Chỉ định tên bảng - Chọn các cột lấy dữ liệu -Sử dụng các nút để thêm các mệnh đề WHERE, ORDER BY cho câu lệnh SELECT Cấu hình câu lệnh SELECT Làm quen với lập trình CSDL ASP.NET 30 -Chỉ định tên bảng - Chọn các cột lấy dữ liệu -Sử dụng các nút để thêm các mệnh đề WHERE, ORDER BY cho câu lệnh SELECT -Câu lệnh SELECT được tạo ra
  • 31. điều khiển SqlDataSource tự sinh Mã aspx của điều khiển SqlDataSource Làm quen với lập trình CSDL ASP.NET 31
  • 32. kết datasource với điều khiển list Sửa trực tiếp các thuộc tính buộc dữ liệu trong chế độ Source Sử dụng cửa sổ Properties của điều khiển để sửa các thuộc tính buộc dữ liệu Sử dụng Data Source Configuration Winzard Liên kết datasource với điều khiển list Các cách liên kết datasource với điều khiển list Sửa trực tiếp các thuộc tính buộc dữ liệu trong chế độ Source Sử dụng cửa sổ Properties của điều khiển để sửa các thuộc tính buộc dữ liệu Sử dụng Data Source Configuration Winzard Làm quen với lập trình CSDL ASP.NET 32 - Click vào đây để mở menu smart tag - Chọn Chose Data Source để mở Data Source Configuration Winzard
  • 33. sử dụng để liên kết dữ liệu Ví dụ đoạn mã aspx của điều khiển drop-down list liên kết tới datasource Liên kết datasource với điều khiển list Thuộc tính Mô tả DataSourceID ID của datasource DataTextField Tên trường dữ liệu của data source hiển thị trên danh sách DataValueField Giá trị trả về khi trường dữ liệu tương ứng (DataTextField) được chọn Các thuộc tính sử dụng để liên kết dữ liệu Ví dụ đoạn mã aspx của điều khiển drop-down list liên kết tới datasource Làm quen với lập trình CSDL ASP.NET 33 Giá trị hiển thị trên List Costumes tương ứng với trường LongName của nguồn dữ liệu Giá trị trả về khi Cosumes được chọn là CategoryID tương ứng với LongName là Costumes
  • 34. lập trình CSDL ASP.NET 34
  • 35. hỗ trợ buộc dữ liệu thuộc nhóm Data trên Toolbox Dùng để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Điều khiển DataList HeaderTemplate Là điều khiển hỗ trợ buộc dữ liệu thuộc nhóm Data trên Toolbox Dùng để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Làm quen với lập trình CSDL ASP.NET 35 Một ví dụ về DataList Dữ liệu được hiển thị dưới dạng bảng ItemTemplate
  • 36. của điều khiển DataList Bạn có thể tạo nhiều template cho một DataList. Hai Template thường sử dụng là HeaderTemplate và ItemTemplate. Visual Studio cung cấp giao diện thiết kế để định nghĩa giao diện cho các Template. Template Template Mô tả HeaderTemplate Hiển thị tiêu đề cho datalist trước phần tử đầu tiên của datasource FooterTemplate Hiển thị sau phần tử cuối cùng của datasource ItemTemplate Hiển thị các phần tử của datasource AlternatingItemTemplate Hiển thị cho các phần tử luân phiên Các loại template của điều khiển DataList Bạn có thể tạo nhiều template cho một DataList. Hai Template thường sử dụng là HeaderTemplate và ItemTemplate. Visual Studio cung cấp giao diện thiết kế để định nghĩa giao diện cho các Template. Làm quen với lập trình CSDL ASP.NET 36 AlternatingItemTemplate Hiển thị cho các phần tử luân phiên SeparatorTemplate Hiển thị gữa các phần tử
  • 37. chức năng để làm việc với DataList sử dụng giao diện thiết kế đồ họa. Các chức năng quan trọng Chose Data Source: Cấu hình datasource hoặc tạo một datasource mới cho DataList Configure Data Source: Cấu hình/Sửa cấu hình DataSource (cấu hình câu lệnh Select, Update…) Refresh schema: Làm mới schema CSDL. Sử dụng nếu Schema không hiển thị Edit Templates: Tạo và sửa Template cho DataList Smart Tag Menu Cung cấp các chức năng để làm việc với DataList sử dụng giao diện thiết kế đồ họa. Các chức năng quan trọng Chose Data Source: Cấu hình datasource hoặc tạo một datasource mới cho DataList Configure Data Source: Cấu hình/Sửa cấu hình DataSource (cấu hình câu lệnh Select, Update…) Refresh schema: Làm mới schema CSDL. Sử dụng nếu Schema không hiển thị Edit Templates: Tạo và sửa Template cho DataList Làm quen với lập trình CSDL ASP.NET 37
  • 38. việc với DataList Thêm điều khiển DataList vào WebForm Tạo và cấu hình DataSource cho DataList Thêm định nghĩa các Template cho DataList Buộc dữ liệu cho các điều khiển trên các Template Làm việc với DataList Các bước làm việc với DataList Thêm điều khiển DataList vào WebForm Tạo và cấu hình DataSource cho DataList Thêm định nghĩa các Template cho DataList Buộc dữ liệu cho các điều khiển trên các Template Làm quen với lập trình CSDL ASP.NET 38
  • 39. DataList cho ứng dụng ProductList. DataList này hiển thị danh sách sản phẩm của danh mục sản phẩm được chọn. Nội dung demo Thêm điều khiển DataList Cấu hình DataSource cho DataList Cấu hình câu lệnh SELECT có chứa tham số Định nghĩa Template cho DataList Buộc dữ liệu cho các điều khiển trên ItemTemplate Demo Sử dụng DataList Thêm điều khiển DataList cho ứng dụng ProductList. DataList này hiển thị danh sách sản phẩm của danh mục sản phẩm được chọn. Nội dung demo Thêm điều khiển DataList Cấu hình DataSource cho DataList Cấu hình câu lệnh SELECT có chứa tham số Định nghĩa Template cho DataList Buộc dữ liệu cho các điều khiển trên ItemTemplate Làm quen với lập trình CSDL ASP.NET 39
  • 40. cho DataList Câu lệnh SELECT chứa tham số Làm quen với lập trình CSDL ASP.NET 40 Kiểu phần tử định nghĩa tham số cho câu lệnh SELECT
  • 41. điều khiển SqlDataSource với câu lệnh SELECT chứa tham số Demo Cấu hình DataSource cho DataList Làm quen với lập trình CSDL ASP.NET 41 Sinh viên tham khảo thêm các phần tử sử dụng để định nghĩa tham số cho câu lệnh SELECT trong SGK
  • 42. nghĩa HeaderTemplate cho DataList Định nghĩa ItemTemplate cho DataList Định dạng hiển thị cho DataList Demo Định nghĩa các template cho DataList Nội dung demo: Định nghĩa HeaderTemplate cho DataList Định nghĩa ItemTemplate cho DataList Định dạng hiển thị cho DataList Làm quen với lập trình CSDL ASP.NET 42 Chọn Edit Templates trong menu smart tag của điều khiển DataList để định nghĩa các template 1. Chọn loại Template cần định nghĩa. 2. Thêm các thành phần cho Template Có thể thêm: Bảng, text, label, các điều khiển vào template
  • 43. được tạo ra Demo Định nghĩa các template cho DataList
    ID Product Unit Price On Hand
    <% đoạn mã định nghĩa các template khác được viết ở dây%>
    Làm quen với lập trình CSDL ASP.NET 43
    ID Product Unit Price On Hand
    <% đoạn mã định nghĩa các template khác được viết ở dây%>
  • 44. trợ buộc dữ liệu ItemTemplate AlternatingItemTemplate Demo Buộc dữ liệu cho các điều khiển trong template Làm quen với lập trình CSDL ASP.NET 44 Hai phương thức sử dụng cho biểu thức mã: - Eval <%# Eval("UnitPrice", "{0:C}") %> Chỉ dùng để hiển thị dữ liệu - Bind <%# Bind("UnitPrice", "{0:C}") %> Dùng để hiển thị dữ liệu và cập nhật dữ liệu từ nguồn dữ liệu
  • 45. hiểu các vấn đề sau: Tạo một datasource có thể cập nhật CSDL Sử dụng bộ đệm dữ liệu Sinh viên tìm hiểu các vấn đề sau: Tạo một datasource có thể cập nhật CSDL Sử dụng bộ đệm dữ liệu Làm quen với lập trình CSDL ASP.NET 45
  • 46. sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc Kiến trúc kết nối Kiến trúc không kết nối Tổng kết ADO.NET Ứng dụng ASP.NET sử dụng ADO.NET để thao tác với CSDL ADO.NET là một phần của .NET Framework, được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS .NET. Các thành phần cơ bản của ADO.NET .NET data provider: cung cấp các lớp để tương tác với CSDL Dataset: Là bản sao của CSDL hay một phần CSDL trên bộ nhớ Kết nối giữa ứng dụng và cở sở dữ liệu (CSDL) thông qua ADO.NET theo hai kiến trúc Kiến trúc kết nối Kiến trúc không kết nối Làm quen với lập trình CSDL ASP.NET 46
  • 47. source Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Bản chất của việc sử dụng điều khiển datasource cũng là truy cập qua các đối tượng ADO.NET, nhưng sử dụng ít code hơn ADO.NET Điều khiển datasource được buộc vào một điều khiển dữ liệu để hiển thị dữ liệu cho người dùng. Hai loại điều khiển datasource thường dùng SQL DataSource ObjectDataSource (Hỗ trợ kiến trúc ba tầng) Tổng kết Điều khiển data source Điều khiển data source quản lý các tác vụ kết nối đến CSDL, đọc và ghi dữ liệu. Bản chất của việc sử dụng điều khiển datasource cũng là truy cập qua các đối tượng ADO.NET, nhưng sử dụng ít code hơn ADO.NET Điều khiển datasource được buộc vào một điều khiển dữ liệu để hiển thị dữ liệu cho người dùng. Hai loại điều khiển datasource thường dùng SQL DataSource ObjectDataSource (Hỗ trợ kiến trúc ba tầng) Làm quen với lập trình CSDL ASP.NET 47
  • 48. để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Tổng kết Điều khiển DataList Dùng để trình bày dữ liệu được truy xuất từ một datasource dưới dạng danh sách Hỗ trợ thao tác truy xuất, cập nhật, thêm, xóa CSDL Để định nghĩa các thông tin hiển thị trên một datalist, ta tạo ra các Template cho datalist. Làm quen với lập trình CSDL ASP.NET 48