intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hướng Dẫn Thực Hành Winform - phần 7 Thiết kế và xây dựng phần mềm theo mô hình 3 tầng xử lý

Chia sẻ: Harry Tran | Ngày: | Loại File: PDF | Số trang:8

328
lượt xem
151
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'hướng dẫn thực hành winform - phần 7 thiết kế và xây dựng phần mềm theo mô hình 3 tầng xử lý', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Hướng Dẫn Thực Hành Winform - phần 7 Thiết kế và xây dựng phần mềm theo mô hình 3 tầng xử lý

  1. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng HƯ NG D N TH C HÀNH TU N 7 (Thi t k và xây d ng ph n m m theo mô hình 3 t ng x lý) 1. M c ích: Giao di n ngư i dùng X lý thông tin Lưu tr d li u 2. Thi t k CSDL: a. S d ng l i CSDL c a tu n th 6 (QLHOCSINH.mdb) HOCSINH STT Tên trư ng Ki u d li u Ghi chú 1 MaHS Text(10) PrimaryKey 2 TenHS Text(255) 3 NgaySinh Date/Time 4 DiaChi Text(255) 5 DTB Number 6 MaLop Text(10) ForeignKey (tham chi u n Lop(MaLop) LOP STT Tên trư ng Ki u d li u Ghi chú 1 MaLop Text(10) PrimaryKey 2 TenLop Text(255) 3 SiSo Number
  2. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng 3. Phân tích, thi t k ch c năng c a ph n m m theo mô hình 3 t ng x lý D a vào hư ng d n thi t k theo mô hình ba t ng trên l p lý thuy t, sinh viên ph i phân tích, thi t k Xác nh và mô t phát th o các l p i tư ng - L p sơ l p m c phân tích - L p sơ l p m c thi t k - Mô t chi ti t các l p i tư ng - L p sơ ki n trúc t ng th c a ph n m m - L p sơ ph i h p c a các bi n c - 4. Cài t: a. T o project “QLHocSinh” b. Mô hình 3 t ng c a chương trình: Giao di n HocSinhInfo HocSinhCtl HocSinhData DataProvider C ơ s d li u T o l p DataProvider qu n lý vi c k t n i và truy v n cơ s d c. li u : Vi c k t n i cơ s d li u có th ư c th c hi n qua nhi u d ng Provider khác nhau như SqlClient, OleDb, Odbc… Do ó, có th d dàng thay i Provider khi h qu n tr cơ s d li u thay i, ta c n thi t l p m t l p DataProvider riêng v i các hàm tương ng. Các bư c th c hi n: - Ch n Project -> Add Class: t tên cho class là DataProvider. - ây ta k t n i v i cơ s d li u Microsoft Access nên ta s d ng OleDb k t n i. Thêm 2 dòng l nh sau vào u file DataProvider.cs:
  3. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng using System.Data; using System.Data.OleDb; V i m i l n k t n i, ta s d ng cùng m t connectionString chung. Khai báo m t bi n static và m t property lưu gi connection string xuyên su t trong chương trình. protected static string _connectionString; public static string ConnectionString { get { return _connectionString; } set { _connectionString = value; } } ng th i ta c n khai báo các bi n th c hi n thao tác trên cơ s d li u bao g m: protected OleDbConnection connection; protected OleDbDataAdapter adapter; protected OleDbCommand command; Tương t như bài trư c, ta vi t hàm k t n i CSDL: public void connect() { connection = new OleDbConnection(_connectionString); } Và hàm ng t k t n i CSDL: public void disconnect() { connection.Close(); } th c hi n truy v n d li u v i các câu truy v n d li u có s n, ta t o hàm truy v n executeQuery tr ra 1 DataReader public IDataReader executeQuery(string sqlString) { command = new OleDbCommand(sqlString, connection); return command.ExecuteReader(); } public void executeNonQuery(string sqlString) { command = new OleDbCommand(sqlString, connection); command.ExecuteNonQuery(); }
  4. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng public object executeScalar(string sqlString) { command = new OleDbCommand(sqlString, connection); return command.ExecuteScalar(); } d. T o l p HocSinhData (add class HocSinhData.cs) th c hi n các thao tác c p nh t cơ s d li u v i d li u h c sinh tương ng L p HocSinhData s ch u trách nhi m th c hi n c p nh t CSDL thông qua DataProvider ã có. M i i tư ng HocSinhData s gi m t Data Provider th c hi n truy xu t CSDL using System.Data; using System.Data.OleDb; namespace QLHocSinh { class DataProvider { protected static string _connectionString; protected OleDbConnection connection; protected OleDbDataAdapter adapter; protected OleDbCommand command; public static string ConnectionString { get { return _connectionString; } set { _connectionString = value; } } public void connect() { connection = new OleDbConnection(_connectionString); } public void disconnect() { connection.Close(); } public IDataReader executeQuery(string sqlString) { command = new OleDbCommand(sqlString, connection); return command.ExecuteReader(); } public void executeNonQuery(string sqlString) { command = new OleDbCommand(sqlString, connection); command.ExecuteNonQuery(); }
  5. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng public object executeScalar(string sqlString) { command = new OleDbCommand(sqlString, connection); return command.ExecuteScalar(); } } } e. X lý tính toán: T o l p HocSinhInfo ch a các thông tin c a m t h c sinh v i ràng bu c nghi p v tương ng L p HocSinhInfo ch a các thông tin lưu tr c a m t i tư ng h c sinh. L p này ch g m các bi n và thu c tính (ho t ng tương t như m t struct). ây chính là l p truy n t i d li u gi a t ng giao di n và t ng x lý tính tóan using System; namespace QLHocSinh { class HocSinhInfo { private string _maHS; private string _tenHS; private string _diachi; private DateTime _ngaysinh; private float _dtb; private string _maLop; public string MaHS { get { return _maHS; } set { if (value == null) throw new Exception("Ma HS khong duoc rong"); _maHS = value; } } public string TenHS { get { return _tenHS; } set { if (value == null) throw new Exception("Ten HS khong duoc rong"); _tenHS = value; }
  6. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng } public string Diachi { get { return _diachi; } set { _diachi = value; } } public DateTime Ngaysinh { get { return _ngaysinh; } set { _ngaysinh = value; } } public float DTB { get { return _dtb; } set { if (value < 0 || value >10) throw new Exception("DTB phai >=0 va
  7. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng f. T o l p HocSinhCtl th c hi n các công vi c nghi p v : Trong m i i tư ng HocSinhCtl gi các i tư ng HocSinhInfo và HocSinhData. Thông qua i tư ng HocSinhInfo truy n nh n d li u v i HocSinhData th c hi n tương tác v i t ng cơ s d li u. using System; namespace QLHocSinh { class HocSinhCtl { private HocSinhInfo info = new HocSinhInfo(); private HocSinhData data = new HocSinhData(); public HocSinhInfo HocSinh { get { return info; } set { info = value; } } public void insert() { data.insert(info.MaHS, info.TenHS, info.Ngaysinh, info.Diachi, info.DTB, info.MaLop); } public void delete() { data.delete(info.MaHS); } public void update() { data.update(info.MaHS, info.TenHS, info.Ngaysinh, info.Diachi, info.DTB, info.MaLop); } } }
  8. Xây d ng ph n m m hư ng i tư ng GVHD: Tr n Anh Dũng g. Thi t k l i Form “Nh p thông tin h c sinh” như màn hình sau: 5. Bài t p: - Hoàn ch nh t ng giao di n c a ng d ng. (g i ý: trong t ng giao di n ch s d ng các l p HocSinhCtl, HocSinhInfo) - Vi t c u trúc l p LopInfo binding danh sách l p vào combobox. - Vi t các l p x lý thêm , xóa, s a Lop -…
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2