Bài giảng Thiết kế và lập trình Website: Chương 6 - ThS. Dương Thành Phết

60 107 0
Bài giảng Thiết kế và lập trình Website: Chương 6 - ThS. Dương Thành Phết

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 6 trang bị cho người học những kiến thức lập trình Web Form với ADO.Net. Nội dung chính trong chương này gồm: Tổng quan về ADO.Net, các đối tượng trong ADO.Net, xây dựng lớp xử lý dữ liệu, xử lý giỏ hàng cho website thương mại điện tử. Mời các bạn cùng tham khảo.

KHOA CAO ĐẲNG THỰC HÀNH THIẾT KẾ & LẬP TRÌNH WEBSITE (Chuyên ngành: Đồ Họa Đa Truyền Thông) Chương LẬP TRÌNH WEB FORM VỚI ADO.NET NỘI DUNG Tổng quan về ADO.Net Các đối tượng ADO.Net Xây dựng lớp xử lý liệu Xử lý giỏ hàng cho website thương mại điện tử © Dương Thành Phết www.thayphet.net - phetcm@gmail.com TỔNG QUAN VỀ ADO.NET 1.1 ADO.NET ?  ActiveX Data Object NET (ADO.NET)- Mơ hình truy xuất CSDL nền NET  Do Microsoft Soft phát triển từ nền tảng ADO  Cung cấp các lớp đối tượng và hàm thư viện phục vụ cho việc kết nối và xử lý liệu  Tăng tốc truy xuất liệu theo mơ hình đa lớp: tách biệt truy cập liệu với thao tác liệu  Cho phép truy xuất liệu chế độ connected và disconnected  Hỗ trợ thao tác với XML © Dương Thành Phết www.thayphet.net - phetcm@gmail.com TỔNG QUAN VỀ ADO.NET 1.2 Kiến trúc ADO.NET: ADO.Net Gồm thành phần chính: Net Data Provider và DataSet © Dương Thành Phết www.thayphet.net - phetcm@gmail.com TỔNG QUAN VỀ ADO.NET Net Data Provider: gồm thành phần:  Connection: Thực thiết lập và trì kết nới đến CSDL  Command: Lưu trữ các lệnh truy vấn hay stored procedure  DataReader: Lưu trữ kết thực thi lệnh truy vấn từ CSDL  DataAdapter: Là cầu nối giúp trao đổi liệu DataSet và CSDL © Dương Thành Phết www.thayphet.net - phetcm@gmail.com TỔNG QUAN VỀ ADO.NET Kiến trúc Net Data Provider © Dương Thành Phết www.thayphet.net - phetcm@gmail.com TỔNG QUAN VỀ ADO.NET DataSet: Lưu trữ các bảng liệu, lược đồ CSDL  Thực thi chế ngắt kết nối (disconnected) nhằm tăng hiệu truy xuất CSDL  Mọi thao tác thay đổi liệu được thực DataSet, không ảnh hưởng đến CSDL  Thay đổi liệu, cập nhật CSDL thơng qua đới tượng DataAdapter © Dương Thành Phết www.thayphet.net - phetcm@gmail.com TỔNG QUAN VỀ ADO.NET Kiến trúc Dataset © Dương Thành Phết www.thayphet.net - phetcm@gmail.com TỔNG QUAN VỀ ADO.NET 1.3 Đặc điểm ADO.NET  Cho phép lấy cấu trúc phức tạp liệu từ CSDL, sau ngắt kết nới mới thực thao tác xử lý  ADO.NET mạnh mẽ: Kế thừa ưu điểm ADO Kết hợp với ý tưởng thiết kế hoàn toàn mới  Thiết kế hồn tồn hướng đới tượng: Đặc trưng thư viện NET Framework © Dương Thành Phết www.thayphet.net - phetcm@gmail.com CÁC ĐỐI TƯỢNG TRONG ADO.NET 2.1 Đối tượng Connection  Để tương tác với database phải có kết nới  Kết nới cần xác định:  Server name  Database name  User name  Password 10 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com ĐỐI TƯỢNG DATAADAPTER  Phương thức trả về mẫu tin lấy được Dataset DS as New Dataset() Integer so; so= DA.Fill(DS,”Sinhvien”)  Để cập nhật liệu về nguồn Update(): Cập nhật các dòng (Các đới tượng DataRow) vào nguồn liệu Update(): Cập nhật các thay đổi tất các bảng Dataset vào nguồn liệu Update(): Cập nhật tất các thay đổi DataTable vào nguồn liệu Update(,) Cập nhật các thay đởi bảng Dataset vào nguồn 46 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com ĐỐI TƯỢNG DATASET  Dataset là mơ hình CSDL quan hệ thu nhỏ đáp ứng nhu cầu ứng dụng  Dataset chứa các bảng (DataTable), các quanhệ (DataRelation) và các ràng buộc (constraint)  Dataset thuộc tên miền: System.Data.Dataset  Khai báo New System.Data.Dataset() Hoặc New System.Data.Dataset() 47 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com ĐỐI TƯỢNG DATASET  Các phương thức Thêm bảng vào Dataset Tables.Add() Một bảng mới tự động được tạo với tên mặc định Table1, Table2 Tables.Addd() Một bảng mới tạo theo Ghi chú: Tên bảng có phân biệt chữ in, thường Xóa bảng khỏi Dataset Tables.Remove() Xóa bảng khỏi tập hợp Table 48 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com ĐỐI TƯỢNG DATASET Kiểm tra bảng có thuộc về Dataset Tables.Contains() Lấy số bảng Tables.IndexOf() Lấy số bảng Dataset Tables.Count Lấy bảng Dataset Tables() Để cập nhật các thay đổi Dataset AcceptChanges() 49 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com ĐỐI TƯỢNG DATASET 50 Để hủy các thay đổi Dataset RejectChanges() Để xóa bỏ liệu dataSet Clear() Để tạo sau Dataset Clone() Để xóa bỏ Dataset Dispone() Giải phóng tài nguyên vùng nhớ Dataset sử dụng Tạo quan hệ hai bảng Dataset Relations.Add(, ) Xóa quan hệ hai bảng Dataset Relations.Remove() © Dương Thành Phết www.thayphet.net - phetcm@gmail.com Dữ liệu các bảng nguồn liệu được lấy về và đưa vào các DataTable DataTable thuộc tên miền : System.Data.dataTable Cú pháp: New DataTable(); New DataTable(); DataTable được hình thành từ DataColumn và DataRow 51 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com Ví dụ 1: DataAdapter + update liệu try { SqlConnection cnn = new SqlConnection("Data Source=(local); Initial Catalog=QLbansach;User ID=sa;Password="); SqlDataAdapter da=new SqlDataAdapter("select * from CHUDE", cnn); SqlCommandBuilder commandBuilder = new SqlCommandBuilder(da); DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow row in ds.Tables[0].Rows) if (row["MaCD"]=="1") { row["TENCHUDE"] = "BBB"; } response.write(ds.Tables[0].Rows[2].ItemArray[1].ToString()); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); //Không sử dụng SqlCommandBuilder khơng thể update liệu da.Update(ds); } 52 catch (Exception) { response.write(“Thất bại!“); } © Dương Thành Phết www.thayphet.net - phetcm@gmail.com Ví dụ 2: DataAdapter + Procedure(GetNXB) try { SqlConnection cnn = new SqlConnection("Data Source=(local); Initial Catalog=QLbansach;User ID=sa;Password="); SqlDataAdapter da = new SqlDataAdapter("GETNXB", cnn); DataSet ds = new DataSet(); da.Fill(ds); response.write(ds.Tables[0].Rows[2].ItemArray[1].ToString()); GridView2.DataSource = ds.Tables[0]; GridView2.DataBind();} catch (Exception) { response.write(“Thất bại!“); } 53 © Dương Thành Phết www.thayphet.net - phetcm@gmail.com Ví dụ 3: DataAdapter + Procedure tham số (Getchude) try { 54 SqlConnection cnn = new SqlConnection("Data Source=(local); Initial Catalog=QLbansach;User ID=sa;Password="); SqlCommand cmd = new SqlCommand("Getchude", cnn); cmd.Connection = cnn; cmd.CommandType = CommandType.StoredProcedure; SqlParameter parMACD = new SqlParameter("@MACD", SqlDbType.NChar, 10); parMACD.Value = "1"; cmd.Parameters.Add(parMACD); cnn.Open(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); cnn.Close(); } catch (Exception) { response.write(“Thất bại!“); } © Dương Thành Phết www.thayphet.net - phetcm@gmail.com Ví dụ 4: DataAdapter + Đới sớ là command 55 try { SqlConnection cnn = new SqlConnection("Data Source=(local); Initial Catalog=QLbansach;User ID=sa;Password="); SqlCommand cmd = new SqlCommand("GETNXB", cnn); cmd.Connection = cnn; cmd.CommandType = CommandType.StoredProcedure; cnn.Open(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; //da.InsertCommand = cmd; //da.DeleteCommand = cmd; //da.UpdateCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); cnn.Close(); } catch (Exception) { response.write(“Thất bại!“); } www.thayphet.net - phetcm@gmail.com © Dương Thành Phết XÂY DỰNG LỚP XỬ LÝ DỮ LIỆU  Để các thao tác với CSDL thuận lợi Ta nên xây dựng lớp xử lý liệu đảm nhận việc kết nối CSDL và các thủ tục xử lý  Docbang(string LenhSQL): Nhằm thực câu lệnh truy vấn SQL để trả về liệu là DataTable  Thuchienlenh(string LenhSQL): Nhằm thực câu lệnh Insert, Update, Delete để cập nhật liệu cho CSDL  Thực hiện:  Tạo cấu hình chuỗi kết nới CSDL tập tin Webconfig (Có thể dùng SQLDatasource để sinh mã) 56

Ngày đăng: 30/01/2020, 09:53

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan