Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

BÀI THỰC HÀNH CHƯƠNG 4 – ADO.

NET

-----O0O-----

Bài 1. Tạo CSDL gồm các bảng như sau:

- Cấu trúc các bảng:

Bảng KhachHang

Bảng NhanVien

Bảng SanPham

Bảng HoaDon

Bảng ChiTietHD

GV biên soạn: Trần Kim Hương 1


Bảng NguoiDung

- Diagram:

NguoiDung NhanVien
TaiKhoan MaNV
MatKhau HoTenNV
Quyen NgaySinh
MaNV DiaChi
DienThoai

HoaDon
MaHD
MaKH
MaNV ChiTietHD
MaHD
NgayLapHD
MaSP
NgayNhanHang
SoLuongBan
DonGiaBan

SanPham
MaSP
KhachHang
MaKH TenSP

TenCty DonViTinh

DiaChi DonGiaHang

SoDT SoLuongTon

GV biên soạn: Trần Kim Hương 2


- Nhập dữ liệu cho các bảng như sau:

Bảng KhachHang

Bảng NhanVien

Bảng SanPham

Bảng Hoadon

Bảng ChiTietHD

GV biên soạn: Trần Kim Hương 3


Bảng NguoiDung

Bài 2. Đưa dữ liệu lên các đối tượng ListBox/ ComboBox

Thiết kế form như sau:

* Yêu cầu:

. Khi Form load: đưa dữ liệu từ table SanPham lên ListBox và ComboBox (lst_sanpham,
cmb_sanpham)

. Nhắp vào Button Exit: dừng chương trình (có hiện hộp thoại hỏi đáp trước khi dừng).

* Hướng dẫn:

- Thiết kế form

- Sử dụng mô hình ngắt kết nối để thực hiện

- Khai báo chuỗi kết nối đến CSDL, SqlConnection, SqlDataAdapter, DataTable

- Viết lệnh truy vấn dữ liệu Selelect trong SQL

GV biên soạn: Trần Kim Hương 4


- Đưa dữ liệu lên ListBox, ComboBox

Bài 3. Đưa dữ liệu lên DataGridView

Thiết kế form như sau:

* Yêu cầu:

. Khi Form load: đưa dữ liệu từ table SẢN PHẨM lên DataGridView (dgv_sp),

. Nhắp vào Button Exit: dừng chương trình.

- Bẫy lỗi khi load dữ liệu lên datagridview

* Hướng dẫn:

- Thiết kế form theo yêu cầu.

- Cấu hình các column cho DataGridView như form mẫu (đặt lại tên cột, chú ý thuộc tính
DataPropertyName = tên trường và AutoSizeMode=Fill)

- Sử dụng mô hình ngắt kết nối (thực hiện tương tự Bài 2)

- Truy vấn dữ liệu và hiển thị lên DataGridview

Bài 4. Các thao tác trên dữ liệu: Xóa, Tìm kiếm

Tạo from như sau:

GV biên soạn: Trần Kim Hương 5


* Yêu cầu:

. Khi Form load: đưa dữ liệu từ table KHACHHANG lên DataGridView (dgv_kh), với cột
Tên công ty phải sử dụng Combobox

. Nhắp vào Button Exit: hỏi lại trước khi dừng chương trình.

. Nhắp vào Button Delete: xóa dòng dữ liệu đang chọn

. Nhắp vào Button Reload: load lại dữ liệu cho datagridview

. Nhập dữ liệu vào Text search: hiển thị dữ liệu theo từ khóa trong text (MaKH)

* Hướng dẫn:

- Thiết kế form theo yêu cầu, cột Tên cộng ty chọn thuộc tính Column Type =
DataGridViewComboboxColumn

Viết lệnh đổ dữ liệu vào cột Tên công ty


//dua du lieu len combobox tenCty
(dgv_khachhang.Columns["TenCty"] as DataGridViewComboBoxColumn).DataSource = dt;
(dgv_khachhang.Columns["TenCty"] as DataGridViewComboBoxColumn).DisplayMember = "TenCty";
(dgv_khachhang.Columns["TenCty"] as DataGridViewComboBoxColumn).ValueMember = "TenCty";

- Sự kiện load form: đổ dữ liệu vào datagridview

- Tìm theo từ khóa: sử dụng mô hình ngắt kết nối viết sự kiện TextChange cho ô text và truy
vấn dữ liệu với điều kiện LIKE

- Button Reload: load lại dữ liệu trong CSDL cho dgv_kh

- Button Delete: sử dụng mô hình kết nối để thực hiện:

GV biên soạn: Trần Kim Hương 6


+ Khai báo chuỗi kết nối, đối tượng SqlConnection,

+ Chuỗi lệnh SQL xóa dữ liệu: lấy chỉ số record hiện hành, lấy MaKH của record
hiện hành và dùng lệnh Delete from…where

+ Mở kết nối và dùng try{}catch{} bẫy lỗi

+ Khai báo đối tượng SqlCommand để thực thi câu truy vấn SQL

+ Gọi lệnh thực thi ExcuteNonQuery

+ Đóng kết nối

Bài 5.

Từ Bài 4, bổ sung thêm các control (Panel, textbox, combobox, button) như hình (sử
dụng bảng KhachHang)

* Yêu cầu:

- Thiết kế không cho người dùng thao tác (Enabled = false) khi load form:

+ Panel

+ Các Button Lưu, Hủy

- Điều chỉnh lại thuộc tính (properties) của DataGridView

+ AllowUserToAddRows = False

GV biên soạn: Trần Kim Hương 7


+ EditMode = EditProgrammatically

- Khi Form load: đưa dữ liệu từ table KhachHang lên DataGridView (dgvKHACHHANG),
có bẫy lỗi.

- Nhắp vào Button RELOAD: load lại nội dung table KhachHang lên dgvKHACHHANG

- Nhắp vào Button INSERT:

+ Xóa trống các đối tượng trong Panel.

+ Cho phép nhập thông tin khách hàng vào các đối tượng trên Panel

+ Không cho phép thao tác trên các Button: Thêm, Sửa, Xóa, Thoát.

+ Cho phép thao tác trên các Button: Lưu, Hủy.

- Nhắp vào Button UPDATE:

+ Đưa thông tin của khách hàng đang được chọn trong DataGridView lên Panel.

+ Cho phép nhập / sửa thông tin khách hàng vào / trong các đối tượng trên Panel.

+ Không cho phép thao tác trên các Button: Thêm, Sửa, Xóa, Thoát.

+ Cho phép thao tác trên các Button: Lưu, Hủy.

- Nhắp vàp Button SAVE.

+ Insert / Update thông tin khách hàng từ Panel vào table KhachHang.

+ ReLoad lại DataGridView

- Nhắp vào Button CANCEL:

+ Xóa trống các đối tượng trong Panel.

+ Không cho phép nhập thông tin khách hàng vào các đối tượng trên Panel

*Hướng dẫn:

- Thiết kế form như mẫu

- Điều chỉnh lại thuộc tính (properties) của DataGridView

+ AllowUserToAddRows = False // không cho phép thêm dòng dữ liệu mới

+ EditMode = EditProgrammatically // không cho sửa giá trị của các ô dữ liệu

- Viết hàm cho sự kiện Form_load (tương tự bài 4)

- Viết hàm cho button RELOAD dữ liệu : gọi hàm load()

GV biên soạn: Trần Kim Hương 8


- Viết hàm cho button INSERT

-------------------------------------

Bài tập mô hình 3 lớp

GV biên soạn: Trần Kim Hương 9

You might also like