1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập lớn quản lý thư viện Lập trình net 1

63 76 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 710,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài tập lớn quản lý thư viện Đại học đầy đủ form và code, bao gồm từ đăng nhập, tới hệ thống, các chức năng của thư viện, các đối tượng tham gia quản lý thư viện. Bảng Sach thể hiện thông tin của các cuốn sách có trong thư viện. Các cuốn sách được phân biệt với nhau bởi mã sách. Bảng Nhanvien thể hiện thông tin của nhân viên quản lý thư viện. Các nhân viên được phân biệt với nhau thông qua mã số nhân viên. Bảng docgia thể hiện thông tin của sinh viên tới thu viện mượn sách. Mỗi sinh viên có một mã số độc giả riêng

Trang 1

BÁO CÁO

Trang 2

1 Cấu trúc bảng Sách

STT Tên thuộc tính Kiểu dữ liệu Khóa chính Diễn giải

sách

4 Mã nhà xuất bản Nvarchar Mã nhà xuất bản tham

chiếu đến sách

6 Mã tác giá Nvarchar Mã tác giả tham chiếu đến

sách

Bảng Sach thể hiện thông tin của các cuốn sách có trong thư viện Các cuốn sách được phân biệt với nhau bởi mã sách.

2 Cấu trúc bảng Nhân viên

Bảng Nhanvien thể hiện thông tin của nhân viên quản lý thư viện Các nhân viên được phân biệt với nhau thông qua mã số nhân viên

STT Tên thuộc tính Kiểu dữ liệu Khóa chính Diễn giải

1 Mã nhân viên nvarchar x Mã số nhân viên tham

chiếu đến bảng nhanvien

Trang 3

số tương ứng

nhân viên

3 Cấu trúc bảng Độc giả

Bảng docgia thể hiện thông tin của sinh viên tới thu viện mượn sách Mỗi sinh viên có một mã số độc giả riêng

STT Tên thuộc tính Kiểu dữ liệu Khóa chính Diễn giải

1 Mã độc giả nvarchar x Mã số người đọc tham chiếu tới bảng

docgia

2 Họ và tên Nvarchar Họ và tên của người mượn sách

3 Ngày sinh Date&time Ngày tháng năm sinh người đọc

4 Bảng Thể loại sách

Bảng theloai thể hiện các thể loại sách có trong thư viện, các thể loại phân biệt với nhau bởi mã thể loại

STT Tên thuộc tính Kiểu dữ liệu Khóa chính Diễn giải

1 Mã thể loại Nvarchar x Mã số thể loại tham chiếu tới

bảng theloai

2 Tên thể loại nvarchar Tên của các thể loại sách có

trong thư viện

5 Cấu trúc bảng Tác giả

Trang 4

Bảng tacgia thể hiện các tác giả của các cuốn sách, mỗi tác giả được phân biệt với nhau bởi mã số tác giả

STT Tên thuộc tính Kiểu dữ liệu Khóa chính Diễn giả

1 Mã tác giả Nvarchar x Mã số tương ứng của mỗi tác

giả tham chiếu tới bảng tacgia

2 Tên tác giả nvarchar Họ và tên của tác giả với các mã

3 Địa chỉ Nvarchar Địa chỉ của nhà xuất bản

4 Điện thoại nvarchar Số điện thoại liên lạc của nxb

Nvarchar x Mã số cuau phiếu mượn với mỗi

sinh viên tham chiếu tới bảng phieumuon

2 Mã độc giả Nvarchar Mã số của độc giả tham chiếu tới

bảng docgia

3 Mã nhân viên nvarchar Mã số nhân viên tham chiếu tới

bảng nhanvien

Trang 5

8 Cấu trúc bảng Mượn trả sách

Bảng chitietmuon thể hiện thông tin sách mượn và ngày mượn, ngày trả của độc giả

STT Tên thuộc tính Kiểu dữ liệu Khóa chính Diễn giải

1 Mã phiếu Nvarchar x Mã số phiếu mượn của độc giả

thjam chiếu tới bảng phieumuon

chiếu tới bản sach

9 Lược đồ quan hệ

Trang 6

Phần 2: Sơ đồ chức năng phân rã

Trang 7

Phần 3: Giao diện của các chức năng

Đăng nhập

Đăng xuất Thoát

Hệ thống

Độc giả Nhân viên Quản lý sách Thể loại Tác giả Nhà xuất bản

Danh mục

Mượn trả sách

Tìm kiếm sách Tìm độc giả

Trang 8

1 Giao diện chương trình chính

2 Giao diện đăng nhập

Giao diện này cho phép người dùng đăng nhập vào hệ thống quản lý thư viện của trường

3 Giao diện Thể loại sách

Trang 9

Giao diện cho phép người dùng thêm các thể loại sách mới; sửa, xóa các thể loại sách

đã có trong database

4 Giao diện Tác giả

Cho phép thêm các tác giả mới bằng việc thêm mã tác giả và tên tác giả

Trang 10

Xóa hoặc sửa các tác giả đã sẵn có

5 Giao diện Sách

- Tìm kiếm sách: có thể tìm kiếm sách dựa vào mã sách hoặc tên sách

- Cập nhật sách bằng các thuộc tính: mã sách, tên sách, nhà xuất bản, năm xuất bản, tác giả,

mã tác giả,

- Thêm: cho phép người dùng thêm mới mã sách, tên sách, mã tác giả, nhà xuất bản,

- Sửa, xóa: có thể sửa hoặc xóa thông tin của các cuốn sách đã có trong database

- Lưu: lưu các thông tin vừa thêm, sửa xóa

6 Giao diện Nhân viên

Trang 11

- Cập nhật nhân viên bằng các thuộc tính: mã nhân viên, tên nhân viên, ngày sinh, giới tính, địa chỉ, điện thoại

- Thêm: cho phép người dùng thêm mới mã nhân viên, tên nhân viên, ngày sinh, giới tính, địa chỉ, điện thoại.

- Sửa, xóa: có thể sửa hoặc xóa thông tin của các nhân viên đã có trong database

- Lưu: lưu các thông tin vừa thêm, sửa xóa

7 Giao diện Độc giả

Trang 12

- Cập nhật nhân viên bằng các thuộc tính: mã độc giả, tên độc giả, ngày sinh, giới tính, lớp

- Thêm: cho phép người dùng thêm mới mã độc giả, tên độc giả, ngày sinh, giới tính, lớp.

- Sửa, xóa: có thể sửa hoặc xóa thông tin của các nhân viên đã có trong database

- Lưu: lưu các thông tin vừa thêm, sửa xóa

8 Giao diện Mượn trả sách

Giao diện này giúp tạo phiếu mượn sách cho độc giả

Cho phép thêm, sửa xóa thông tin của phiếu mượn bao gồm mã phiếu, mã độc giả và mã nhân viên tạo phiếu mượn

Trang 13

Giao diện Chi tiết mượn trả thể hiện thông tin bạn đọc đã mượn cuốn sách nào, thời gian mượn

và thời gian trả sách

Có thể thêm thông tin độc giả đã mượn sách

Gia hạn thời gian trả sách, ghi chú tình trạng sách

Lưu các thông tin đã thêm hoặc sửa đổi.

9 Giao diện tìm kiếm sách

Người dùng có thể tìm kiếm sách theo mã sách hoặc tên sách

Từ đó hệ thống sẽ cung cấp thông tin chi tiết về các cuốn sách

10.Giao diện Tìm kiếm độc giả

Trang 14

Người dùng có thể tìm kiếm độc giả dựa vào một trong hai thông tin là mã độc giả và tên độc giả

Hệ thống sẽ cung cấp thông tin chi tiết về độc giả cho người dùng như: mã độc giả, họ và tên, giới tính, ngày sinh, lớp

11 Giao diện Thống kê sách

Trang 15

Thống kê sách dựa trên các thông tin sẵn có trong database

12 Giao diện Thống kê độc giả

Thống kê độc giả dựa trên các thông tin chi tiết về độc giả trong database

Phần 4: Mã nguồn (Source code)

1 Mã nguồn của chương trình chính

Trang 16

this.Visible = false;

Form f = new Form1();

Trang 18

Themsuaxoa t = new Themsuaxoa();

string user = "admin";

Trang 19

Themsuaxoa t = new Themsuaxoa();

privatevoid loaddata()

Trang 20

privatevoid them_Click(object sender, EventArgs e)

Trang 22

else MessageBox.Show("Lỗi");

Trang 23

Themsuaxoa t = new Themsuaxoa();

privatevoid loaddata()

Trang 24

privatevoid them_Click(object sender, EventArgs e)

Trang 27

elseif (t.thucthidulieu("INSERT INTO tacgia VALUES (N'" + txtmatacgia.Text + "', '" + txttentacgia.Text + "')") == true)

Trang 28

Themsuaxoa t = new Themsuaxoa();

privatevoid loaddata()

Trang 30

privatevoid sua_Click(object sender, EventArgs e)

MessageBox.Show("Cập nhật dữ liệu thành công");

Trang 31

privatevoid thoat_Click(object sender, EventArgs e)

Trang 32

Themsuaxoa t = new Themsuaxoa();

privatevoid loaddata()

Trang 33

DataTable dt = t.docdulieu("select * from nhaxb");

DataTable dt1 = t.docdulieu("select * from theloai");

DataTable dt2 = t.docdulieu("select * from tacgia");

privatevoid them_Click(object sender, EventArgs e)

{

txtmasach.Text = "";

txttensach.Text = "";

Trang 35

== true)

}

elseif (t.thucthidulieu("update SACH set tensach=N'" + txttensach.Text + "', namxb=N'" + txtnamxb.Text + "', manxb='" + comnhaxb.Text + "', matheloai='" + comtheloai.Text + "', matacgia='" + comtacgia.Text + "'where masach=N'" + txtmasach.Text + "'") == true)

Trang 36

DialogResult chon = MessageBox.Show("Bạn có muốn xóa sách có mã số " + txtmasach.Text +

"", "thông báo", MessageBoxButtons.YesNo);

if (chon == DialogResult.Yes)

{

try

{

t.thucthidulieu("delete from sach where masach='" + txtmasach.Text + "'");

MessageBox.Show("Xóa thành Công", "Thông báo");

Trang 37

privatevoid thoat_Click(object sender, EventArgs e)

Trang 38

privatevoid thoat_Click(object sender, EventArgs e)

Trang 39

privatevoid Formnhanvien_Load(object sender, EventArgs e) {

privatevoid luu_Click(object sender, EventArgs e)

Trang 40

elseif (t.thucthidulieu("INSERT INTO nhanvien(manv,hoten,ngaysinh,diachi,dienthoai,gioitinh) VALUES (N'" + txtmanhanvien.Text + "','" + txttennhanvien.Text + "','" + ngayhh + "','" + txtdiachi.Text +

"','" + txtdienthoai.Text + "','" + comgioitinh.Text + "')") == true)

Trang 41

}

else

{

DialogResult chon = MessageBox.Show("Bạn có muốn xóa nhân viên có mã số " +

txtmanhanvien.Text + "", "thông báo", MessageBoxButtons.YesNo);

MessageBox.Show("Xóa thành Công", "Thông báo");

else MessageBox.Show("Lỗi không thể xóa dữ liệu", "Thông báo");

Trang 42

elseif (t.thucthidulieu("update nhanvien set hoten=N'" + txttennhanvien.Text + "',

ngaysinh=N'" + ngayhh + "', diachi=N'" + txtdiachi.Text + "', dienthoai='" + txtdienthoai.Text + "'where manv=N'" + txtmanhanvien.Text + "'") == true)

Trang 43

Themsuaxoa t = new Themsuaxoa();

privatevoid Formdocgia_Load(object sender, EventArgs e)

sua.Text = "Sửa";

them.Enabled = true;

Trang 44

privatevoid them_Click(object sender, EventArgs e)

Trang 45

txtlop.Focus();

}

elseif (t.thucthidulieu("INSERT INTO docgia VALUES (N'" + txtmadocgia.Text + "','" + txttendocgia.Text + "','" + ngayhh + "','" + comgioitinh.Text + "','" + txtlop.Text + "')") == true) {

MessageBox.Show("Thêm thành công");

Trang 46

elseif (t.thucthidulieu("update docgia set hoten=N'" + txttendocgia.Text + "', ngaysinh=N'" + ngayhh + "', gioitinh=N'" + comgioitinh.Text + "', thongtin='" + txtlop.Text + "'where madocgia=N'" + txtmadocgia.Text + "'") == true)

DialogResult chon = MessageBox.Show("Bạn có muốn xóa độc giả có mã số " +

txtmadocgia.Text + "", "thông báo", MessageBoxButtons.YesNo);

MessageBox.Show("Xóa thành Công", "Thông báo");

else MessageBox.Show("Lỗi không thể xóa dữ liệu", "Thông báo");

Trang 47

public DateTime date1, date2;

public TimeSpan time;

public int day;

Trang 48

luoi.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; xoa.Enabled = true;

DataTable dt = t.docdulieu("select * from docgia");

DataTable dt1 = t.docdulieu("select * from nhanvien");

DataTable dt2 = t.docdulieu("select * from phieumuon");

DataTable dt3 = t.docdulieu("select * from sach");

Trang 49

private void them_Click(object sender, EventArgs e)

Trang 50

Form f = new Formchinh();

f.Show();

}

private void luu_Click(object sender, EventArgs e)

{

if (t.thucthidulieu("INSERT INTO phieumuon VALUES (N'" + dem + "','" +

comdocgia.SelectedValue.ToString() + "','" + comnhanvien.SelectedValue.ToString() + "')") == true) {

Trang 52

private void luoi1_SelectionChanged(object sender, EventArgs e)

string ngayhhh = ngaytrasach.Value.ToString("yyyy/MM/dd");

date1 = Convert.ToDateTime(ngaymuonsach.Text);//lấy thông tin ngày mượn ngày trả để kiêmtra đk ngày mượn<=ngày trả

Trang 53

MessageBox.Show("Lỗi, ngày hẹn trả không hợp lý", "Thông báo");

ngaytrasach.Focus();

}

else if (t.thucthidulieu("INSERT INTO chitietmuon VALUES (N'" +

commaphieumuon.SelectedValue.ToString() + "','" + commasach.SelectedValue.ToString() + "','" + ngayhh + "','" + ngayhhh + "','" + ghichu.ToolTipText + "')") == true)

string ngayhhh = ngaytrasach.Value.ToString("yyyy/MM/dd");

date1 = Convert.ToDateTime(ngaymuonsach.Text);//lấy thông tin ngày mượn ngày trả để kiêmtra đk ngày mượn<=ngày trả

Trang 54

DialogResult chon = MessageBox.Show("Bạn có muốn xóa trả sách có mã " +

commasach.Text + "", "thông báo", MessageBoxButtons.YesNo);

Trang 55

Themsuaxoa t = new Themsuaxoa();

privatevoid loaddata()

Trang 56

privatevoid button2_Click(object sender, EventArgs e)

Themsuaxoa t = new Themsuaxoa();

privatevoid loaddata()

{

DataTable dt = t.docdulieu("select * from docgia");

t.text = dt.Rows.Count.ToString();

Trang 58

Themsuaxoa t = new Themsuaxoa();

privatevoid loaddata()

{

DataTable dt = t.docdulieu("select sach.masach, sach.tensach,

nhaxb.tennxb,sach.namxb,theloai.tentheloai from sach, nhaxb, theloai where

(sach.manxb=nhaxb.manxb and sach.matheloai=theloai.matheloai)");

}

privatevoid loaddata1()

{

DataTable dt = t.docdulieu("select sach.masach,sach.tensach,

nhaxb.tennxb,sach.namxb,theloai.tentheloai from sach, nhaxb,chitietmuon, theloai where (sach.manxb=nhaxb.manxb and sach.matheloai=theloai.matheloai and

sach.masach=chitietmuon.masach)");

Trang 59

}

privatevoid loaddata2()

{

DataTable dt = t.docdulieu("select sach.masach,sach.tensach,

nhaxb.tennxb,sach.namxb,theloai.tentheloai from sach, nhaxb,chitietmuon, theloai where (sach.manxb=nhaxb.manxb and sach.matheloai=theloai.matheloai and

sach.masach=chitietmuon.masach and chitietmuon.ngaytra<GETDATE())");

Trang 60

Themsuaxoa t = new Themsuaxoa();

privatevoid label1_Click(object sender, EventArgs e)

{

}

Trang 61

privatevoid loaddata()

luoi.Columns[1].HeaderText = "Tên độc giả";

luoi.Columns[2].HeaderText = "Ngày sinh";

DataTable dt = t.docdulieu("select distinct docgia.madocgia,docgia.hoten,

docgia.ngaysinh,docgia.gioitinh, docgia.thongtin from docgia, phieumuon,chitietmuon where (docgia.madocgia=phieumuon.madg and phieumuon.maphieu=chitietmuon.mapm and chitietmuon.ngaytra<GETDATE())");

luoi.Columns[1].HeaderText = "Tên độc giả";

luoi.Columns[2].HeaderText = "Ngày sinh";

Trang 62

privatevoid button2_Click(object sender, EventArgs e)

SqlConnection con = new SqlConnection(@"Data Source=NOTEBOOK-PC\SQLEXPRESS;Initial

internalstring text;

publicvoid moketnoi() //Phương thức kết nối

Trang 63

moketnoi();//mở kết nối dữ liệu

Boolean check = false;// gán check = sai

public DataTable docdulieu(string cmd)//hàm đọc dữ liệu đỗ dữ liệu vào lướisử dụng sqldatadapter

để chuyển đổi dữ liệu từ lệnh cmd trả về Sau đó thì dùng Fill để đổ dữ liệu từ adapter vào datatable và cuối cùng là trả về một bảng chứa dữ liệu đã truy vấn

SqlCommand sc = new SqlCommand(cmd, con);

SqlDataAdapter sda = new SqlDataAdapter(sc);

Ngày đăng: 09/06/2021, 08:51

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w