1. Thiết kế tổng quan
1.3. Sử dụng lớp xử lý nghiệp vụ
Sau khi thiết kế lớp xử lý hoàn tất, việc hiển thị dữ liệu trên màn hình bây giờ khá đơn giản. Xem các ví dụ minh họa sau:
Hiển thị các sách có trong bảng SACH
Nếu muốn hiển thị các sách mới nhập:
//Khai báo bảng sách: Bang_sach abstract XL_SACH Bang_sach; private void Page_Load() {
//Put user code to initialize the page here if (!IsPostBack) {
Lien_ket_du_lieu(); }
}
public void Lien_ket_du_lieu() {
XL_BANG.Chuoi_CSDL = Server.MapPath("../Du_lieu/QlBanSach.mdb"); Bang_sach = new XL_SACH();
Ds_Sach.DataSource = Bang_sach; Ds_Sach.DataBind();
}
if (mang_Dk.Count > 0) { int i;
for (i = 0; i <= mang_Dk.Count - 1; i++) { if (i == 0) {
chuoi_Dk = mang_Dk(i); } else {
chuoi_Dk += " AND " + mang_Dk(i); } } Loc_du_lieu(chuoi_Dk); } } #endregion }
Nếu muốn hiển thị 10 cuốn sách mới nhất:
Nếu muốn hiển thị 10 cuốn sách mới nhất của chủ đề có mã là 5: public void Lien_ket_du_lieu()
{
XL_BANG.Chuoi_CSDL = Server.MapPath("../Du_lieu/QlBanSach.mdb"); Bang_sach = new XL_SACH("Select Top 10 * " + "From SACH " +
"Where Mcd = 5 " + "Order By Ngay_cap_nhat desc"); Ds_Sach.DataSource = Bang_sach;
Ds_Sach.DataBind(); }
public void Lien_ket_du_lieu() {
XL_BANG.Chuoi_CSDL = Server.MapPath("../Du_lieu/QlBanSach.mdb"); Bang_sach = new XL_SACH("Select Top 10 * " + "From SACH " + "Order By Ngay_cap_nhat desc");
Ds_Sach.DataSource = Bang_sach; Ds_Sach.DataBind();
}
public void Lien_ket_du_lieu() {
XL_BANG.Chuoi_CSDL = Server.MapPath("../Du_lieu/QlBanSach.mdb"); Bang_sach = new XL_SACH();
Bang_sach.DefaultView.Sort = "Ngay_Cap_nhat desc"; Ds_Sach.DataSource = Bang_sach;
Ds_Sach.DataBind(); }
Kết quả hiển thị: (10 sách mới nhất)
Màn hình thông tin sách
Trong bảng SACH, chúng ta chỉ có thông tin về Mã chủ đề (Mcd), Mã nhà
xuất bản (Mnxb), để lấy được tên chủ đề, tên nhà xuất bản như kết quả trong hình minh họa trên, chúng ta cần bổ sung các điều khiển cần thiết như hình bên dưới và thực hiện như sau:
Hiệu chỉnh thủ tục Lien_ket_du_lieu như sau: public void Lien_ket_du_lieu()
{
XL_BANG.Chuoi_CSDL = ;
Server.MapPath("../Du_lieu/QlBanSach.mdb"); string lenh_Sql;
lenh_Sql = "SELECT SACH.*, " + "Ten_nha_xuat_ban, Ten_chu_de " + "FROM (NHA_XUAT_BAN NXB INNER JOIN SACH " + "ON NXB.Mnxb = SACH.Mnxb) " + "INNER JOIN CHU_DE CD ON CD.Mcd = SACH.Mcd";
Bang_sach = new XL_SACH(lenh_Sql); Ds_Sach.DataSource = Bang_sach; Ds_Sach.DataBind();