08 chuong07 tủ tài liệu bách khoa

58 28 0
08 chuong07 tủ tài liệu bách khoa

Đ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 Lập Trình Web Form Với ADO.Net Tổng quan 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ử Written by: Dương Thành Phết http://www.thayphet.net Tổng Quan Về ADO.Net 1.1 Giới thiệu 1.2 Kiến trúc ADO Net 1.3 Minh họa tạo kết nối CSDL Written by: Dương Thành Phết http://www.thayphet.net 1.1 Giới Thiệu Hầu hết ứng dụng windows hay website cần có CSDL, để lưu trữ, xử lý, tìm kiếm báo cáo… Khi liệu trở thành trung tâm ứng dụng việc cung cấp chức tới người dùng phụ thuộc vào khả thao tác liệu, vấn ñề cần quan tâm là: Lưu liệu tập trung ðảm bảo toàn vẹn liệu ðảm bảo khả truy xuất ñồng thời ðảm bảo thời gian hồi ñáp ngắn Bảo mật liệu Trao ñổi liệu hệ thống khác Written by: Dương Thành Phết http://www.thayphet.net Vấn ñề ñược giải dựa vào khả Hệ QTCSDL .Net truy xuất DL qua ADO.NET, ñặc ñiểm ADO.NET là: Khả làm việc với DL khơng kết nối: DL lưu trữ nhớ CSDL thu nhỏ (dataset), nhằm tăng tốc ñộ xử lý tính tốn hạn chế sử dụng tài nguyên Khả xử lý iệu chuẩn XML (Có thể trao ñổi hệ thống nào) Written by: Dương Thành Phết http://www.thayphet.net 1.2 Kiến Trúc ADO.Net Written by: Dương Thành Phết http://www.thayphet.net Kiến trúc ADO.NET chia làm phần chính: Managed Provider Component: Bao gồm ñối tượng DataAdapter, DataReader,… giữ nhiệm vụ làm việc trực tiếp với liệu database, file,… Content Component: Bao gồm ñối tượng DataSet, DataTable,… ñại diện cho liệu thực cần làm việc Written by: Dương Thành Phết http://www.thayphet.net DataReader: Là ñối tượng giúp truy cập liệu nhanh chóng DataSet: Là thu nhỏ CSDL nhớ với nhiều bảng mối quan hệ DataAdapter: Là đối tượng kết nối DataSet CSDL, bao gồm ñối tượng Connection Command ñể cung cấp liệu cho DataSet cập nhật liệu từ DataSet xuống CSDL Written by: Dương Thành Phết http://www.thayphet.net 1.3 Minh họa tạo kết nối CSDL Cơ bước thực với database Bước 1: Tạo kết nối Bước 2: Mở kết nối liệu Bước 3: Tạo lệnh ñiều khiển truy vấn SQL Bước 4: Thực thi lệnh Bước 5: ðóng kết nối Bước 6: in kết Written by: Dương Thành Phết http://www.thayphet.net Ví dụ: using System; using System.Data; using System.Data.SqlClient; public partial class vd1 : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { //Khai báo khởi tạo biến Connection SqlConnection cnn = new SqlConnection("Data Source=(local); Initial Catalog=QLbansach;User ID=sa;Password="); cnn.Open(); //Mở kết nối //Command ñiều khiển truy vấn sql SqlCommand cmd = cnn.CreateCommand(); cmd.CommandText="select TenKH from Khachhang where MaKH=5"; //lấy chuỗi giá trị sở liệu string result = (string)cmd.ExecuteScalar(); cnn.Close(); //đóng kết nối Response.Write(result); //in giá trị hình } } Written by: Dương Thành Phết http://www.thayphet.net Các ñối tượng ADO.Net 2.1 Connection 2.2 Command 10 Written by: Dương Thành Phết http://www.thayphet.net Phương thức trả mẫu tin lấy ñược Dim DS as New Dataset() Dim so As Integer so= DA.Fill(DS,”Sinhvien”) ðể cập nhật liệu nguồn Update(): Cập nhật dòng (Các ñối tượng DataRow) vào nguồn liệu Update(): Cập nhật thay ñổi tất bảng Dataset vào nguồn liệu Update(): Cập nhật tất thay ñổi DataTable vào nguồn liệu Update(,) Cập nhật thay ñổi bảng Dataset vào nguồn 44 Written by: Dương Thành Phết http://www.thayphet.net 2.5 Dataset Dataset mơ hình CSDL quan hệ thu nhỏ ñáp ứng nhu cầu ứng dụng Dataset chứa bảng (DataTable), quanhệ (DataRelation) 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() 45 Written by: Dương Thành Phết http://www.thayphet.net Các phương thức Thêm bảng vào Dataset Tables.Add() Một bảng tự ñộng ñược tạo với tên mặc ñịnh Table1, Table2 Tables.Addd() Một bảng tạo theo ñúng 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 46 Written by: Dương Thành Phết http://www.thayphet.net Kiểm tra bảng có thuộc 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 thay ñổi Dataset AcceptChanges() 47 Written by: Dương Thành Phết http://www.thayphet.net 48 ðể hủy 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 ñang sử dụng Tạo quan hệ hai bảng Dataset Relations.Add(, ) Xóa quan hệ hai bảng Dataset Relations.Remove() Written by: Dương Thành Phết http://www.thayphet.net 2.6 DataTable Dữ liệu bảng nguồn liệu ñược lấy ñưa vào DataTable DataTable thuộc tên miền : System.Data.dataTable Cú pháp: New DataTable(); New DataTable(); DataTable hình thành từ DataColumn DataRow 49 Written by: Dương Thành Phết http://www.thayphet.net 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); } 50 catch (Exception) { response.write(“Thất bại!“); } Written by: Dương Thành Phết http://www.thayphet.net 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!“); } 51 Written by: Dương Thành Phết http://www.thayphet.net Ví dụ 3: DataAdapter + Procedure tham số (Getchude) try { 52 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!“); } Written by: Dương Thành Phết http://www.thayphet.net Ví dụ 4: DataAdapter + ðối số command 53 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!“); } by: Dương Thành Phết http://www.thayphet.net Written 2.7 ðối Tượng Transaction Dữ liệu bảng nguồn liệu ñược lấy ñưa vào 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 DataRow 54 Written by: Dương Thành Phết http://www.thayphet.net Xây Dựng Lớp Xử Lý Dữ Liệu ðể 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 thủ tục xử lý Docbang(string LenhSQL): Nhằm thực câu lệnh truy vấn SQL ñể trả liệu 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ã)

Ngày đăng: 08/11/2019, 10:16

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

  • Đang cập nhật ...

Tài liệu liên quan