Tải bản đầy đủ (.pdf) (41 trang)

Bài tập thực hành lập tình trực quan WPF,C#, Quản lý Sách, SQL SERVER +ENTITY

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.01 MB, 41 trang )

LAB HƯỚNG DẪN XÂY DỰNG ỨNG DỤNG WPF QUẢN LÝ SÁCH
WPF + SQL SERVER + ENTITY

1. Tạo cơ sở dữ liệu quản lý sách đơn giản
* Database QLSach. Chú ý các Bảng ID đều là tự động tăng
IDLoaiSach là khoá chính trong bảng LoaiSach và là khố ngoại trong bảng Sach


- Bảng LoaiSach

- Bảng Sach

- Bảng NguoiDung


- FILE:
CREATE DATABASE QLSach;
GO
USE QLSach;

CREATE TABLE NguoiDung (
IDNguoiDung INT IDENTITY(1,1) PRIMARY KEY,
TenNguoiDung NVARCHAR(100) NOT NULL,
Email NVARCHAR(100),
MatKhau NVARCHAR(100) NOT NULL,
NgayDangKy DATETIME,
VaiTro NVARCHAR(50)
);
-- Tạo bảng LoaiSach
CREATE TABLE LoaiSach (
IDLoaiSach INT IDENTITY(1,1) PRIMARY KEY,


TenLoaiSach NVARCHAR(150) NOT NULL
);
-- Tạo Sach
CREATE TABLE Sach (
IDSach INT IDENTITY(1,1) PRIMARY KEY,
MaSach NVARCHAR(10),
TenSach NVARCHAR(250) NOT NULL,
DonGia DECIMAL(18, 0),
SoLuong INT,
IDLoaiSach INT NOT NULL,
AnhBia NVARCHAR(250),
FOREIGN KEY (IDLoaiSach) REFERENCES
LoaiSach(IDLoaiSach)
);
-- Chèn dữ liệu tài khoản admin
INSERT INTO NguoiDung (TenNguoiDung, Email, MatKhau,
NgayDangKy, VaiTro)
VALUES


('admin', '', '123456', GETDATE(),
'ADMIN');
-- Chèn dữ liệu tài khoản người dùng
INSERT INTO NguoiDung (TenNguoiDung, Email, MatKhau,
NgayDangKy, VaiTro)
VALUES
('user', '', '123456', GETDATE(),
'NGUOIDUNG');
-- Chèn dữ liệu mẫu vào bảng "LoaiSach"
INSERT INTO LoaiSach (TenLoaiSach)

VALUES
('CSDL'),
('AI),
('PyThon');
-- Chèn dữ liệu mẫu vào bảng "Sach"
INSERT INTO Sach (MaSach, TenSach, DonGia, SoLuong,
IDLoaiSach, AnhBia)
VALUES
('S01', 'Database Systems A Pragmatic Approach',
250000, 50, 1, 'avatar_book1.jpg'),
('S02', 'Artificial Intelligence By Example', 180000,
30, 2, 'avatar_book2.jpg'),
('S03', 'Artificial Intelligence Basics: A
Non-Technical Introduction', 150000, 60, 2,
'avatar_book3.jpg'),
('S04', 'PyThon Basic', 220000, 40, 3,
'avatar_book4.jpg');


2. Tạo ứng dụng WPF

- Chú ý chọn WPF App (.NET Framework)


- Khởi tạo thành công:


- Xây dựng giao diện đơn giản như hình:

- Code tham khảo:


3. Kết nối WPF đến CSDL:
- Tạo thư mục Models tại dự án:
+ Tại thư mục Models, bấm chuột phải


- Chọn ADO.NET Entity Data Model


- Chọn hình sau:








- Trong thư mục Models đã sinh ra các file .cs

4. Thực hiện các chức năng hiển thị, thêm, sửa, xố, tìm kiếm
4.1. Hiển thị dữ liệu
- Hiển thị dữ liệu sách lên DataGrid:


Chúng ta đang binding IDLoaiSach nên sẽ hiển thị ID, cần sửa binding để hiển thị
Tên loại sách:


- Mục ảnh bìa đang để cứng là string, chúng ta sẽ thực hiện upload ảnh bìa để hiển

thị sau.

4.2. Thêm mới dữ liệu
- SV tiến hành thêm form thêm mới/Sửa.



- Để khi bấm vào button Thêm hiển thị InsertWindow ta thực hiện như sau:

+ Thiết kế màn hình thêm mới tương tự:

- Để hiển thị dữ liệu combobox loại sách từ CSDL ta thực hiện như sau:


- Trong file: InsertWindow.xam:

- Trong file: InsertWindow.xam.cs


- Kết quả:

- Thiết kế xong giao diện, thực hiện code hàm thêm dữ liệu:


- Code hàm btnLuu_Click:

- Về phần upload ảnh bìa sách tạm thời chưa thực hiện, sẽ hướng dẫn ở phần sau.


- Chúng ta cần thực hiện Validate các trường nhập vào (Sinh viên tự thực hiện)


- Để sau khi thêm mới , form InsertWindow đóng lại thì dữ liệu thì datagrid hiển thị
ngay dữ liệu mới được thêm ta xử lý như sau:
- Tại MainWindow.xam.cs:

- Tại InsertWindow.xam.cs:
+ Khai báo thêm:


- Thêm hàm Window_DataChanged:

- Thực hiện thêm mới dữ liệu để kiểm tra.
4.3. Cập nhật dữ liệu
- Sau khi thêm mới ta tiếp tục xử lý cập nhật/sửa dữ liệu. Quy trình như sau:
+ Nếu chưa chọn bản ghi nào trên DataGrid mà chúng ta bấm sửa thì sẽ hiển thị
thông báo “ Cần chọn item để sửa.”


×