SlideShare a Scribd company logo
1 of 7
Download to read offline
Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 
Hướng dẫn thực hành 
Môn: XDPMHDT 
Chủ đề: ADO.NET 
Phần 2: Các thao tác kết nối ADO.NET với mô hình 3 tầng 
1. Mô hình 3 tầng 
Mục đích: 
2. Thiết kế CSDL 
1. Sử dụng lại cơ sở dữ liệu ở phần 1 (HOCSINH.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) 
1
Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 
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 
Tạo project C# Window Application mới với tên project là QLHS 
Mô hình 3 tầng của chương trình 
HocSinhCtl 
HocSinhData 
DataProvider 
3. Kết nối 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ữ 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 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: 
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 chương trình. 
protected static string _connectionString; 
2 
Giao diện 
Cơ sở dữ liệu 
HocSinhInfo
Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 
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(connnectionString); 
} 
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âu 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(); 
} 
public object executeScalar(string sqlString) 
{ 
command = new OleDbCommand(sqlString, connection); 
return command.ExecuteScalar(); 
} 
3
Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 
Tạo lớp HocSinhData để 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. 
public class HocSinhData 
{ 
private DataProvider _provider = new DataProvider(); 
public HocSinhData() 
{ 
_provider.connect(); 
} 
public void insert(string maHS, string tenHS, DateTime 
ngaySinh, string diachi, double diemTB, string maLop) 
{ 
string insertCommand = "INSERT INTO HOCSINH VALUES('" + 
maHS + "', '" + 
tenHS + "', '" + 
ngaySinh.ToShortDateString() + 
"', '" + 
diachi + "', " + 
diemTB + ", '" + 
maLop + "')"; 
_provider.executeNonQuery(insertCommand); 
} 
public void update(string maHS, string tenHS, DateTime 
ngaySinh, string diachi, double diemTB, string maLop) 
{ 
…………………………………………………………………………………… 
} 
public void delete(string maHS) 
{ 
…………………………………………………………………………………… 
} 
} 
4. Xử lý tính tóan: 
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 
public class HocSinhInfo 
{ 
private string _maHS; 
4
Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 
private string _tenHS; 
private string _diachi; 
private DateTime _ngaysinh; 
private double _dtb; 
private string _maLop; 
private double _toan; 
private double _ly; 
private double _hoa; 
public string MaHS 
{ 
get{return _maHS;} 
set 
{ 
if (value == null) 
throw new Exception("Ma HS khong duoc rong”); 
_maHS = value; 
} 
} 
public double DTB 
{ 
get{return _dtb;} 
set 
{ 
if (value < 0 || value >10) 
throw new Exception("Diem trung binh phai lon 
hon 0 va nho hon 10"); 
_dtb = value; 
} 
} 
public double Toan 
{ 
get{return _toan;} 
set 
{ 
if (value < 0 || value >10) 
throw new Exception("Diem Toan phai lon hon 0 
va nho hon 10"); 
_toan = value; 
} 
} 
} 
Tương tự cho các biến và thuộc tính còn lại. 
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. 
public class HocSinhCtl 
{ 
private HocSinhInfo info = new HocSinhInfo(); 
private HocSinhData data = new HocSinhData(); 
5
Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 
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); 
} 
public void tinhDTB() 
{ 
info.DTB = ( info.Toan + info.Ly + info.Hoa ) / 3; 
} 
} 
6
Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 
5. Giao diện người dùng 
Thiết kế form frmHocSinh.cs: 
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 
HocSinhCtl, HocSinhInfo và DataProvider ) 
- Viết cấu trúc 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. 
7

More Related Content

What's hot

6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượngHưởng Nguyễn
 
Linq To Sql
Linq To SqlLinq To Sql
Linq To Sqlquyloc
 
BÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệu
BÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệuBÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệu
BÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệuMasterCode.vn
 
Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#MasterCode.vn
 
Mo hinh ado.net
Mo hinh ado.netMo hinh ado.net
Mo hinh ado.netXuan Tran
 
Data Binding
Data BindingData Binding
Data Bindingquyloc
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01huynhtrong774129
 
Chương 5: PHP&MYSQL
Chương 5: PHP&MYSQLChương 5: PHP&MYSQL
Chương 5: PHP&MYSQLHồ Lợi
 
BÀI 9: Xử lý các đối tượng lưu trữ thông tin với số lượng lớn
BÀI 9:  Xử lý các đối tượng lưu trữ thông tin với số lượng lớnBÀI 9:  Xử lý các đối tượng lưu trữ thông tin với số lượng lớn
BÀI 9: Xử lý các đối tượng lưu trữ thông tin với số lượng lớnMasterCode.vn
 
BÀI 7: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...
BÀI 7:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...BÀI 7:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...
BÀI 7: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...MasterCode.vn
 
Thuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieuThuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieutruong le hung
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnTráng Hà Viết
 

What's hot (16)

Goi
GoiGoi
Goi
 
Data provider
Data providerData provider
Data provider
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
 
Linq To Sql
Linq To SqlLinq To Sql
Linq To Sql
 
BÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệu
BÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệuBÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệu
BÀI 10 : Nâng cao hiệu quả hoạt động cơ sở dữ liệu
 
Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#
 
Mo hinh ado.net
Mo hinh ado.netMo hinh ado.net
Mo hinh ado.net
 
Data Binding
Data BindingData Binding
Data Binding
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
 
LINQ presentation
LINQ presentationLINQ presentation
LINQ presentation
 
Chương 5: PHP&MYSQL
Chương 5: PHP&MYSQLChương 5: PHP&MYSQL
Chương 5: PHP&MYSQL
 
BÀI 9: Xử lý các đối tượng lưu trữ thông tin với số lượng lớn
BÀI 9:  Xử lý các đối tượng lưu trữ thông tin với số lượng lớnBÀI 9:  Xử lý các đối tượng lưu trữ thông tin với số lượng lớn
BÀI 9: Xử lý các đối tượng lưu trữ thông tin với số lượng lớn
 
BÀI 7: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...
BÀI 7:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...BÀI 7:  THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...
BÀI 7: THỰC THI CÁC HOẠT ĐỘNG XỬ LÝ XML THEO CƠ CHẾ DỮ LIỆU NGẮT KẾT NỐI (DI...
 
Thuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieuThuc thi menh lenh voi co so du lieu
Thuc thi menh lenh voi co so du lieu
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiện
 

Viewers also liked

Corredor ferroviario atlantico.pdf
Corredor ferroviario atlantico.pdfCorredor ferroviario atlantico.pdf
Corredor ferroviario atlantico.pdfIrekia - EJGV
 
Bao cao thưc_tap_tuan4_cntt_pham_tienquan
Bao cao thưc_tap_tuan4_cntt_pham_tienquanBao cao thưc_tap_tuan4_cntt_pham_tienquan
Bao cao thưc_tap_tuan4_cntt_pham_tienquanQuân Quạt Mo
 
"Efectos de distintod desinfectantes sobre el crecimiento bacteriano"
"Efectos de distintod desinfectantes sobre el crecimiento bacteriano""Efectos de distintod desinfectantes sobre el crecimiento bacteriano"
"Efectos de distintod desinfectantes sobre el crecimiento bacteriano"Paola Rey
 

Viewers also liked (6)

Bai 03
Bai 03Bai 03
Bai 03
 
Btt
BttBtt
Btt
 
[Vnmath.com] skkn-bui thi hang
[Vnmath.com] skkn-bui thi hang[Vnmath.com] skkn-bui thi hang
[Vnmath.com] skkn-bui thi hang
 
Corredor ferroviario atlantico.pdf
Corredor ferroviario atlantico.pdfCorredor ferroviario atlantico.pdf
Corredor ferroviario atlantico.pdf
 
Bao cao thưc_tap_tuan4_cntt_pham_tienquan
Bao cao thưc_tap_tuan4_cntt_pham_tienquanBao cao thưc_tap_tuan4_cntt_pham_tienquan
Bao cao thưc_tap_tuan4_cntt_pham_tienquan
 
"Efectos de distintod desinfectantes sobre el crecimiento bacteriano"
"Efectos de distintod desinfectantes sobre el crecimiento bacteriano""Efectos de distintod desinfectantes sobre el crecimiento bacteriano"
"Efectos de distintod desinfectantes sobre el crecimiento bacteriano"
 

Similar to Thuc hanh ado.net_bai_03

Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Android report
Android reportAndroid report
Android reportMinh Đệ
 
Android Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderAndroid Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderPhuoc Nguyen
 
Data binding trong windows phone 8
Data binding trong windows phone 8Data binding trong windows phone 8
Data binding trong windows phone 8Tony Nguyen
 
Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010Nhat Linh Luong
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Hiển Phùng
 
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTBài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTMasterCode.vn
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...zzsunzz
 
Báo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, database
Báo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, databaseBáo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, database
Báo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, databaseDlinh Truong
 

Similar to Thuc hanh ado.net_bai_03 (20)

C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Android report
Android reportAndroid report
Android report
 
Android Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content ProviderAndroid Nâng cao-Bài 4: Content Provider
Android Nâng cao-Bài 4: Content Provider
 
Web201 slide 2
Web201   slide 2Web201   slide 2
Web201 slide 2
 
Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#Mô hình 3 lớp trong C#
Mô hình 3 lớp trong C#
 
Data binding trong windows phone 8
Data binding trong windows phone 8Data binding trong windows phone 8
Data binding trong windows phone 8
 
Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010
 
Oop 8
Oop 8Oop 8
Oop 8
 
LinQ
LinQLinQ
LinQ
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2
 
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTBài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
Asp.net 3.5 _7
Asp.net 3.5 _7Asp.net 3.5 _7
Asp.net 3.5 _7
 
Chuong8 (2)
Chuong8 (2)Chuong8 (2)
Chuong8 (2)
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 
LinQ to XML
LinQ to XMLLinQ to XML
LinQ to XML
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
Báo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, database
Báo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, databaseBáo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, database
Báo cáo tuần 4- Xây dựng các class liên quan khách hàng, cơ hội, database
 
ôn tập dbms
ôn tập dbmsôn tập dbms
ôn tập dbms
 

Recently uploaded

14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...
14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...
14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...Nguyen Thanh Tu Collection
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...Nguyen Thanh Tu Collection
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...Nguyen Thanh Tu Collection
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...Nguyen Thanh Tu Collection
 
ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...
ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...
ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...Nguyen Thanh Tu Collection
 
lịch sử đảng cộng sản việt nam chương 1.ppt
lịch sử đảng cộng sản việt nam chương 1.pptlịch sử đảng cộng sản việt nam chương 1.ppt
lịch sử đảng cộng sản việt nam chương 1.pptLinhPham480
 
HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...
HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...
HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...Nguyen Thanh Tu Collection
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...Nguyen Thanh Tu Collection
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...Nguyen Thanh Tu Collection
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...Nguyen Thanh Tu Collection
 
IELTS READING - Earth’s lakes are under threat.pptx
IELTS READING - Earth’s lakes are under threat.pptxIELTS READING - Earth’s lakes are under threat.pptx
IELTS READING - Earth’s lakes are under threat.pptxNguynHn870045
 
Day tieng Viet cho nguoi nuoc ngoai.pptx
Day tieng Viet cho nguoi nuoc ngoai.pptxDay tieng Viet cho nguoi nuoc ngoai.pptx
Day tieng Viet cho nguoi nuoc ngoai.pptxngothevinhs6lite
 
BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...
BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...
BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...Nguyen Thanh Tu Collection
 
SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...
SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...
SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...Nguyen Thanh Tu Collection
 
HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...
HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...
HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...Nguyen Thanh Tu Collection
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...Nguyen Thanh Tu Collection
 
40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...
40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...
40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...Nguyen Thanh Tu Collection
 

Recently uploaded (17)

14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...
14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...
14 CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN VẬT LÝ 8 - NĂM 2024 (4...
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY MÔN VẬT LÝ 11 CẢ NĂM (SÁCH KẾT NỐI TRI THỨC) THEO CÔ...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 8 CẢ NĂM CÓ TEST ÔN TẬP ĐỊNH KÌ + NÂNG CAO - FRI...
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY SINH HỌC 10 CHÂN TRỜI SÁNG TẠO - CẢ NĂM THEO CÔNG VĂ...
 
ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...
ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...
ĐỀ KIỂM TRA THEO UNIT TIẾNG ANH GLOBAL SUCCESS 11 - HK2 (BẢN HS-GV) (3 TESTS ...
 
lịch sử đảng cộng sản việt nam chương 1.ppt
lịch sử đảng cộng sản việt nam chương 1.pptlịch sử đảng cộng sản việt nam chương 1.ppt
lịch sử đảng cộng sản việt nam chương 1.ppt
 
HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...
HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...
HƯỚNG DẪN GIẢI ĐỀ MINH HỌA KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤC MÔN...
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 7 + 8 CHƯƠNG TRÌNH GDPT M...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
 
IELTS READING - Earth’s lakes are under threat.pptx
IELTS READING - Earth’s lakes are under threat.pptxIELTS READING - Earth’s lakes are under threat.pptx
IELTS READING - Earth’s lakes are under threat.pptx
 
Day tieng Viet cho nguoi nuoc ngoai.pptx
Day tieng Viet cho nguoi nuoc ngoai.pptxDay tieng Viet cho nguoi nuoc ngoai.pptx
Day tieng Viet cho nguoi nuoc ngoai.pptx
 
BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...
BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...
BÀI TẬP – BÀI GIẢI HÓA HỮU CƠ – TẬP 1 DÙNG BỒI DƯỠNG HỌC SINH GIỎI TỈNH VÀ QU...
 
SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...
SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...
SÁNG KIẾN PHÁT TRIỂN NĂNG LỰC TỰ LÀM MÔ HÌNH KHI TÌM HIỂU KIẾN THỨC “THẠCH QU...
 
HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...
HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...
HƯỚNG DẪN GIẢI ĐỀ THI THAM KHẢO KÌ THI TỐT NGHIỆP THPT NĂM 2024 TỪ BỘ GIÁO DỤ...
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 11 CHUNG 3 BỘ SÁCH NĂM 2024 HỆ THỐNG BÀI TẬP B...
 
40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...
40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...
40 ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2024 - 2025 SỞ GIÁO...
 

Thuc hanh ado.net_bai_03

  • 1. Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng Hướng dẫn thực hành Môn: XDPMHDT Chủ đề: ADO.NET Phần 2: Các thao tác kết nối ADO.NET với mô hình 3 tầng 1. Mô hình 3 tầng Mục đích: 2. Thiết kế CSDL 1. Sử dụng lại cơ sở dữ liệu ở phần 1 (HOCSINH.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) 1
  • 2. Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 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 Tạo project C# Window Application mới với tên project là QLHS Mô hình 3 tầng của chương trình HocSinhCtl HocSinhData DataProvider 3. Kết nối 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ữ 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 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: 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 chương trình. protected static string _connectionString; 2 Giao diện Cơ sở dữ liệu HocSinhInfo
  • 3. Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 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(connnectionString); } 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âu 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(); } public object executeScalar(string sqlString) { command = new OleDbCommand(sqlString, connection); return command.ExecuteScalar(); } 3
  • 4. Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng Tạo lớp HocSinhData để 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. public class HocSinhData { private DataProvider _provider = new DataProvider(); public HocSinhData() { _provider.connect(); } public void insert(string maHS, string tenHS, DateTime ngaySinh, string diachi, double diemTB, string maLop) { string insertCommand = "INSERT INTO HOCSINH VALUES('" + maHS + "', '" + tenHS + "', '" + ngaySinh.ToShortDateString() + "', '" + diachi + "', " + diemTB + ", '" + maLop + "')"; _provider.executeNonQuery(insertCommand); } public void update(string maHS, string tenHS, DateTime ngaySinh, string diachi, double diemTB, string maLop) { …………………………………………………………………………………… } public void delete(string maHS) { …………………………………………………………………………………… } } 4. Xử lý tính tóan: 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 public class HocSinhInfo { private string _maHS; 4
  • 5. Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng private string _tenHS; private string _diachi; private DateTime _ngaysinh; private double _dtb; private string _maLop; private double _toan; private double _ly; private double _hoa; public string MaHS { get{return _maHS;} set { if (value == null) throw new Exception("Ma HS khong duoc rong”); _maHS = value; } } public double DTB { get{return _dtb;} set { if (value < 0 || value >10) throw new Exception("Diem trung binh phai lon hon 0 va nho hon 10"); _dtb = value; } } public double Toan { get{return _toan;} set { if (value < 0 || value >10) throw new Exception("Diem Toan phai lon hon 0 va nho hon 10"); _toan = value; } } } Tương tự cho các biến và thuộc tính còn lại. 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. public class HocSinhCtl { private HocSinhInfo info = new HocSinhInfo(); private HocSinhData data = new HocSinhData(); 5
  • 6. Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 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); } public void tinhDTB() { info.DTB = ( info.Toan + info.Ly + info.Hoa ) / 3; } } 6
  • 7. Xây Dựng Phần Mềm Hướng Đối Tượng Văn Đức Phương Hồng 5. Giao diện người dùng Thiết kế form frmHocSinh.cs: 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 HocSinhCtl, HocSinhInfo và DataProvider ) - Viết cấu trúc 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. 7