Mô hình 3 lớp
lượt xem 17
download
Mô hình 3 lớp được cấu thành từ: Presentation Layers, Business Layers, và Data Layers. Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ (services) mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Mô hình 3 lớp
- ADO.NET, 3 Layers Ngô Ngọc Đăng Khoa 1
- ADO.NET 2
- Giới thiệu • ActiveX Data Object .NET • Hỗ trợ kết nối, xử lý CSDL trên .NET – Access – SQL Server – ... • Đối với HQT CSDL chưa được ADO.NET hỗ trợ sẵn cần cài thêm provider – MySQL Connector .NET (MySQL) – ADO.NET 2.0 Provider for SQLite3 (SQLite3) – ... 3
- Mô hình ADO.NET có 2 mô hình hoạt động Dis • xxxConnection DataSet connect • xxxDataAdapter DataTable ed • xxxCommandBuilder • xxxConnection Connect ArrayList • xxxDataReader ed • xxxCommand List 4
- Disconnected Model • Thao tác đọc (Select) Select DataSet xxxDataAdapter xxxConnection DataTable 5
- Example • Access using System.Data.OleDb; //---------------------------------------------------------------------- string cnStr = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=‘db.mdb’"; OleDbConnection cn = new OleDbConnection(cnStr); string sql = "select * from HocSinh"; OleDbDataAdapter da = new OleDbDataAdapter(sql, cn); DataTable dt = new DataTable(); //DataSet ds = new DataSet(); da.Fill(dt); //da.Fill(ds); 6
- Example • SQL Server using System.Data.SqlClient; //---------------------------------------------------------------------- string cnStr = "Server=.; Database=QLHS; Integrated Security=SSPI;"; //string cnStr = "Server=.; Database=QLHS; Integrated Security=True;"; //string cnStr = "Server=.; Database=QLHS; UID=...; PWD=...;"; SqlConnection cn = new SqlConnection(cnStr); string sql = "select * from HocSinh"; SqlDataAdapter da = new SqlDataAdapter(sql, cn); DataTable dt = new DataTable(); //DataSet ds = new DataSet(); da.Fill(dt); //da.Fill(ds); 7
- Hot Tip • Các thao tác lên các CSDL khác nhau trong ADO.NET là khá tương đồng • Khác biệt ở những điểm sau đây: – using thư viện khác – Chuỗi kết nối khác – Thay xxx trong xxxConnection, xxxDataAdapter, … thành các tên tương ứng: • OleDbConnection, SqlConnection • OleDbDataAdapter, SqlDataAdapter • ... 8
- Disconnected Model • Thao tác ghi (Insert/Delete/Update) DataSet xxxDataAdapter xxxCommandBuilder DataTable Dữ liệu gốc Select xxxDataAdapter xxxConnection 9
- Example - Insert • SQL Server //dt là DataTable đã chứa dữ liệu lấy từ bảng HocSinh DataRow row = dt.NewRow(); dt.Rows.Add(row); row["TenHS"] = "CR7"; row["DiaChi"] = "MU"; row["DienThoai"] = string.Empty; row["NgaySinh"] = new DateTime(1985, 1, 1); row["MaLop"] = 2; SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(da); da.Update(dt); 10
- Example - Delete • SQL Server string cnStr = "Server=.; Database=QLHS; Integrated Security=SSPI;"; SqlConnection cn = new SqlConnection(cnStr); string sql = "select * from HocSinh where MaHS=1"; SqlDataAdapter da = new SqlDataAdapter(sql, cn); DataTable dt = new DataTable(); da.Fill(dt); dt.Rows[0].Delete(); //chưa kiểm tra dữ liệu SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(da); da.Update(dt); 11
- Example - Update • SQL Server string cnStr = "Server=.; Database=QLHS; Integrated Security=SSPI;"; SqlConnection cn = new SqlConnection(cnStr); string sql = "select * from HocSinh where MaHS=1"; SqlDataAdapter da = new SqlDataAdapter(sql, cn); DataTable dt = new DataTable(); da.Fill(dt); DataRow row = dt.Rows[0]; row["TenHS"] = "CR7"; row["DiaChi"] = "RM"; SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(da); da.Update(dt); 12
- Connected Model • Thao tác đọc (Select) Select xxxCommand xxxConnection xxxDataReader 13
- Example string cnStr = "Server=.; Database=QLHS; Integrated Security=SSPI;"; SqlConnection cn = new SqlConnection(cnStr); SqlCommand cmd = new SqlCommand("select * from HocSinh", cn); cmd.Connection.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { int maHS = reader.GetInt32(0); string tenHS = reader["TenHS"].ToString(); string diaChi = reader.GetString(2); string dienThoai = reader["DienThoai"].ToString(); DateTime ngaySinh = Convert.ToDateTime(reader["NgaySinh"]); int maLop = Convert.ToInt32(reader["MaLop"]); } reader.Close(); cmd.Connection.Close(); 14
- Connected Model • Thao tác ghi (Insert/Delete/Update) Store Procedure Functions xxxCommand Insert Delete Update xxxConnection 15
- Example string cnStr = "Server=.; Database=QLHS; Integrated Security=SSPI;"; SqlConnection cn = new SqlConnection(cnStr); string sql = “Delete From HocSinh Where MaHS=1”; //string sql = “Update HocSinh Set TenHS=‘RO10’ Where MaHS=1”; //string sql = “Insert Into HocSinh(TenHS) Values(‘Messi’)”; SqlCommand cmd = new SqlCommand(sql, cn); cmd.Connection.Open(); cmd.ExecuteNonQuery(); //thực thi lệnh cmd.Connection.Close(); 16
- xxxCommand 1. Trỏ đến đối tượng kết nối 4. Danh sách các Connection Parameters tham số truyền vào Command Type 5. Thời gian chờ đợi 2. Loại command thực thi 1 câu SQL Command TimeOut 3. Câu SQL hoặc tên proc, tên bảng Các thuộc tính quan trọng của đối Command Text tượng xxxCommand 17
- CommandType CommandType.Text Giá trị mặc định của CommandType Text CommandType.StoreProcedure Các giá trị của thuộc tính CommandType CommandType.TableDirect Store Table Procedure Direct 18
- Command’s methods xxxCommand xxxCommand Kiểu trả về của các hàm thông dụng trong đối tượng xxxCommand Các hàm thông dụng Trả về 1 XMLReader Trả về một DataReader Trả về số lượng dòng bị ảnh hưởng Trả về 1 giá trị duy nhất 19
- Example string cnStr = "Server=.; Database=QLHS; Integrated Security=SSPI;"; SqlConnection cn = new SqlConnection(cnStr); string sql = “Select COUNT(*) From HocSinh”; SqlCommand cmd = new SqlCommand(sql, cn); cmd.Connection.Open(); int n = Convert.ToInt32(cmd.ExecuteScalar()); cmd.Connection.Close(); //Sử dụng n 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Lập trình ứng dụng mạng: Mô hình tham chiếu osi - Th S Trần Văn Thành
17 p | 475 | 171
-
BÁO CÁO XÂY DỰNG MÔ HÌNH 3 LỚP HỆ THỐNG HỌC PHÍ
13 p | 347 | 98
-
LẬP TRÌNH THEO KIẾN TRÚC 3 LỚP
10 p | 290 | 92
-
Một số khái niệm về mô hình 3 lớp
8 p | 358 | 86
-
Mô hình 3 lớp trong lập trình .net
6 p | 345 | 85
-
Lập trình hướng đối tượng với mô hình 3 lớp (3 layers)
11 p | 213 | 63
-
Bài giảng Mã nguồn mở: Chương 7 - ThS. Nguyễn Minh Thành
42 p | 178 | 37
-
LẬP TRÌNH THEO KIẾN TRÚC 3 LỚP (3-tiers architechture)
10 p | 101 | 18
-
Bài giảng Lập trình hướng đối tượng - Chương 6: Mô hình đa lớp
27 p | 112 | 17
-
Bài giảng Mã nguồn mở: Chương 7
42 p | 106 | 15
-
Bài giảng Nhập môn Công nghệ phần mềm: Architecture & Framework - TS. Trần Ngọc Bảo
83 p | 98 | 14
-
Mô Hình Tham Chiếu OSI Toàn Tập: Lớp 3 - Network
7 p | 140 | 13
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 4: Cài đặt phần mềm
80 p | 109 | 13
-
Bài giảng Lập trình hướng đối tượng 2: Mô hình đa lớp (Multi-Layers) - ĐH Kinh tế TP.HCM
27 p | 48 | 6
-
Bài giảng Phát triển ứng dụng: Chương 3.3
14 p | 67 | 6
-
Bài giảng Mô hình hóa phần mềm: Tuần 3 - Nguyễn Thị Minh Tuyền
76 p | 18 | 6
-
Bài giảng Công nghệ phần mềm: Chương 5 - ThS. Nguyễn Thị Bích Ngân
61 p | 76 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn