báo cáo môn lập trình C quản lý thư viện

60 33 0
báo cáo môn lập trình C quản lý thư viện

Đ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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH TRỰC QUAN C ĐỀ TÀI “Xây dựng chương trình quản lý thư viện” NHÓM SINH VIÊN TRƯƠNG BÁ CÁT TRƯỜNG NGUYỄN CÔNG THÀNH TRỊNH ĐỨC TÙNG TRỊNH TIẾN QUANG LỚP 71DCTT21 NHÓM 7 GIẢNG VIÊN TRẦN THỊ XUÂN HƯƠNG Hà Nội, 2022 CHƯƠNG 1 KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 1 Khảo sát và phân tích bài toán 1 1 Xác định yêu cầu bài toán Cùng với sự phát triển của nền kinh tế thì giáo dục cũng được mở rộ.

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN ********** BÁO CÁO BÀI TẬP LỚN LẬP TRÌNH TRỰC QUAN C# ĐỀ TÀI: “Xây dựng chương trình quản lý thư viện” NHĨM SINH VIÊN: TRƯƠNG BÁ CÁT TRƯỜNG NGUYỄN CÔNG THÀNH TRỊNH ĐỨC TÙNG TRỊNH TIẾN QUANG LỚP: 71DCTT21 NHÓM: GIẢNG VIÊN: TRẦN THỊ XUÂN HƯƠNG Hà Nội, 2022 CHƯƠNG 1: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG Khảo sát phân tích tốn 1.1 Xác định u cầu tốn: Cùng với phát triển kinh tế giáo dục mở rộng quy mô chất lượng để cung cấp nhân lực có trình độ, chun mơn, … phục vụ cho kinh tế ngày vững mạnh Bộ phận thư viện phận thiếu trường đại học trường phổ thông, trung học… để phục vụ cho việc nghiên cứu, tìm kiếm tài liệu học cách tốt cho học sinh, sinh viên Thư viện trường quản lý khoảng hàng trăm ngàn đầu sách tạp chí, phục vụ cho sinh viên trường học tập tham khảo Sinh viên mượn sách đọc thông qua thẻ độc giả Để phục vụ độc giả nhanh, gọn xác, thư viện cần tin học hố cơng việc quản lý danh mục sách quản lý độc giả Phần mềm quản lý thư viện nhằm giải phần khó khăn Phần mềm hỗ trợ thông dụng mà nhiệm vụ thủ thư hay làm hỗ trợ việc lưu trữ liệu sách, … 1.2 Xác định tác nhân: + Bạn đọc: Những người hệ thống phục vụ: mượn sách, trả sách… + Nhân viên: người trực tiếp sử dụng chức hệ thống giám đốc TTTTTL, Thủ thư… + Admin: Đảm bảo hệ thống hoạt động thông suốt, đồng thời người điều hành hệ thống, có quyền bổ sung, thay đổi người sử dụng hệ thống Xây dựng sở liệu - Sơ đồ sở liệu: - Chi tiết bảng: 2.1 Bảng Thủ Thư Mô Tả: Bảng Dữ Liệu Chứa Thông Tin Người Thủ Thư Column Name MaThuThu TenThuThu Description Mã Type Thủ Nvarcha Thư Tên Data r Thủ Nvarcha Thư r NamSinh Năm Sinh Date GioiTinh Giới Tính ChucVu Chức Vụ DiaChi Địa Chỉ MatKhau Mật Khẩu Nvarcha r Nvarcha r Nvarcha r Nvarcha Size Required Default Constrain Value t 50 Not Null N/A 50 Null Null 50 Null 50 Null 50 Null 50 Null PK r 2.2 Bảng Độc Giả Mô Tả: Bảng Dữ Liệu Chứa Thông Tin Độc Giả Column Name MaDocGia MatKhau Description Mã Data Type Độc Nvarcha Giả r Mật Khẩu Nvarcha r Tên Độc Nvarcha Giả r NamSinh Năm Sinh Date GioiTinh Giới Tính TenDocGia NgheNghiep DiaChi SoDienThoai NgayMuaThe NgayHetHan Nvarcha r Nghề Nvarcha Nghiệp r Nvarcha Địa Chỉ Số r Điện Nvarcha Thoại r Ngày Mua Thẻ Ngày Hết Hạn Size Required Default Constrain Value 50 Not Null N/A 50 Null 50 Null t PK Null 50 Null 50 Null 50 Null 50 Null Date Null Date Null 2.3 Bảng Sách Mô Tả: Bảng Dữ Liệu Chứa Thông Tin Về Sách Column Description Data Siz Required Default Constrain Name Type e MaSach Mã Sách Nvarchar 50 Not Null TenSach Tên Sách Nvarchar 50 Null TacGia Tác Giả Nvarchar 50 Null Nvarchar 50 Null Bigint Null Nvarchar 50 Null NXB Gia ChuyenMuc Nhà Xuất Bản Giá Chuyên Mục ViTri Vị Trí Nvarchar 50 Null SoLuong Số Lượng Int Null Value t N/A PK 2.4 Bảng Phiếu Mượn Mô Tả: Bảng Dữ Liệu Chứa Thông Tin Chi Tiết Về Phiếu Column Name MaPhieuMuon MaDocGia MaSach NgayMuon Description Mã Data Type Phiếu Nvarcha Mượn r Mã Độc Nvarcha Giả r Mã Sách Ngày Mượn NgayTra Ngày Trả 2.5 Bảng Phiếu Trả Nvarcha r Size Required Default Constrain Value t 50 Not Null N/A PK 50 Null N/A FK 50 Null Default Constrain Value t Date Null Date Null Mô Tả: Bảng Dữ Liệu Chứa Thông Tin Chi Tiết Về Phiếu Column Name Description MaPhieuTra Mã Data Type Phiếu Nvarcha Size Required 50 Not Null N/A PK MaPhieuMuon MaThuThu TienPhat Trả r Mã Phiếu Nvarcha Mượn Mã r Thủ Nvarcha Thư Tiền Phạt r Nvarcha r NgayPhaiTra Ngày Trả 2.6 Bảng Hoá Đơn Date Column Data Name Description Type Nvarcha 50 Null N/A FK 50 Null N/A FK 50 Null Default Constrain Value t Null Size Required MaHoaDon Mã Hoá Đơn MaSach MaSach TenSach Tên Sách SoLuong Số Lượng Gia Giá Bigint Null ThanhTien Thành Tiền Bigint Null NgayBan Ngày Bán date Null r Nvarcha r Nvarcha r Nvarcha r 50 Not Null N/A PK 50 Null FK 50 Null 50 Null N/A CHƯƠNG 2: CƠ SỞ NGHIÊN CỨU LÝ THUYẾT Ngôn ngữ truy vấn SQL 1.1 Insert: Mục đích: Thêm liệu vào bảng Cú pháp: INSERT INTO Table_Ten (cot1, cot2, cot3, …, cotN)] VALUES (giatri1, giatri2, giatri3, …, giatriN); Ví Dụ: INSERT INTO TheLoai (matheloai, tentheloai) VALUES (p_matheloai, p_tentheloai) 1.2 Update: Mục đích: Cập nhật liệu vào bảng Cú Pháp: UPDATE ten_bang SET cot1 = giatri1, cot2 = giatri2, …, cotN = giatriN WHERE [dieu_kien]; Ví dụ: UPDATE GiaoVien SET Luong = 3500 WHERE MAGV = 001 1.3 Delete: Mục đích: Xóa liệu bảng Cú pháp: DELETE FROM ten_bang [WHERE dieu_kien]; Ví dụ: DELETE GiaoVien WHERE MaGV = 002 1.4 Select: Mục đích: Tên cột danh sách chọn Cú pháp: SELECT giatri1, giatri2, …, giatriN FROM table name; Ví dụ: SELECT * FROM KhachHang; 1.5 Store proceduce: Store Procedure tập hợp hay nhiều câu lệnh T-SQL thành nhóm đơn vị xử lý logic Trong SQL Server ta truyền tham số vào store nhiên khơng trả giá trị cụ thể function cho biết việc thực thi thành công hay thất bại Ta tạo store lần gọi với số lần Store procedure có khả thực thi nhanh việc xử lý đoạn lện T-SQL lớn, lặp + Cú Pháp: Create procedure As Begin END; VD: Tạo procedure thêm thủ thư vào bảng thủ thư bao gồm thông tin: MaThuThu, TenThuThu, NamSinh, GioiTinh, ChucVu, DiaChi ALTER PROCEDURE [dbo].[ThuThu_Ins] Add the parameters for the stored procedure here @MaThuThu nvarchar(50), @TenThuThu nvarchar(50), @NamSinh date, @GioiTinh nvarchar(50), @ChucVu nvarchar(50), @DiaChi nvarchar(50) AS BEGIN insert into ThuThu values(@MaThuThu, @TenThuThu, @NamSinh, @GioiTinh, @ChucVu, @DiaChi) END Ngơn ngữ lập trình C# - Form - Các Control (điều khiển bản): Lable, Textbox, Combobox, Listbox, Listview, Button, Radio button, Checkbox, DatagridView,… - ADO.net, SqlConnection, SQLCommand, SQLDataAdapter, DataSet, DataTable CHƯƠNG 3: XÂY DỰNG PHẦN MỀM Sơ đồ chức phần mềm Một số chức 2.1 Quản Lý, Nhân Viên a Chức 1: Đăng Nhập - Mô tả: Đăng nhập vào chương trình quản lý - Giao diện: - Code: class KiemTraDocGia{ public int CheckLogin(string username, string password){ AccessData acc = new AccessData(); SqlDataReader reader = acc.ExecuteReader("SELECT MaDocGia, MatKhau FROM DocGia"); while (reader.Read()){ if (reader[0].ToString() == username && reader[1].ToString() == password) { return 1; } } return 0; }} class KiemTraThuThu{ public int CheckLogin(string username, string password){ AccessData acc = new AccessData(); SqlDataReader reader = acc.ExecuteReader("SELECT MaThuThu, MatKhau FROM ThuThu"); while (reader.Read()){ if (reader[0].ToString() == username && reader[1].ToString() == password) { return 1; }} return 0; }} private void btQuanLy_Click(object sender, EventArgs e){ KiemTraThuThu dn = new KiemTraThuThu(); if (dn.CheckLogin(txtTaiKhoan.Text, txtMatKhau.Text) == 1){ Manager_QuanLy hd = new Manager_QuanLy(); MessageBox.Show("Đăng Nhập Thành Công","Thông Báo"); this.Hide(); hd.ShowDialog(); } else{ lblThongBao.ForeColor = System.Drawing.Color.Red; lblThongBao.Text = "Sai mã thủ thư mật Vui lòng nhập lại "; txtTaiKhoan.Clear(); txtMatKhau.Clear(); }} private void btNguoiDung_Click(object sender, EventArgs e){ KiemTraDocGia dn = new KiemTraDocGia(); Manager_NguoiDung GDKH = new Manager_NguoiDung(); if (dn.CheckLogin(txtTaiKhoan.Text, txtMatKhau.Text) == 1){ MessageBox.Show("Đăng Nhập Thành Công","Thông Báo"); this.Hide(); GDKH.ShowDialog(); } else { lblThongBao.ForeColor = System.Drawing.Color.Red; lblThongBao.Text = "Sai mã độc giả mật Vui lòng nhập lại !!!"; txtTaiKhoan.Clear(); txtMatKhau.Clear(); }} private void cbHienThiMatKhau_CheckedChanged(object sender, EventArgs e) private void grvPhieuTra_CellClick(object sender, DataGridViewCellEventArgs e){ int i = e.RowIndex; txtmaphieutra.Text = grvPhieuTra.Rows[i].Cells[0].Value.ToString(); cbMaPhieuMuon.SelectedValue = grvPhieuTra.Rows[i].Cells[1].Value.ToString(); cbMaThuThu.SelectedValue grvPhieuTra.Rows[i].Cells[2].Value.ToString(); lbMaDocGia.Text = grvPhieuTra.Rows[i].Cells[3].Value.ToString(); dtNgayPhaiTra.Text = grvPhieuTra.Rows[i].Cells[4].Value.ToString(); txtTienNopPhat.Text = grvPhieuTra.Rows[i].Cells[5].Value.ToString(); txtmaphieutra.Enabled = false; } private void tinhtienphat(){ double songaymuon; double tienphaitra = 0; double gia = 0; if (dtNgayPhaiTra.Text == dtNgayTra.Text) songaymuon = 1; else{ TimeSpan giatrio = dtNgayTra.Value - dtNgayPhaiTra.Value; songaymuon = Math.Round(giatrio.TotalDays, 0); } tienphaitra = 5000 * songaymuon; txtTienNopPhat.Text = tienphaitra.ToString(); } private void dtNgayTra_ValueChanged(object sender, EventArgs e){ tinhtienphat(); } private void TimKiem_madocgia_Click_1(object sender, EventArgs e) { = string P_tkmadocgia = txttimkiem_madocgia.Text.Trim(); if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand("CTPhieuTra_find", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MaPhieuTra", SqlDbType.NVarChar, 50).Value = P_tkmadocgia; cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataTable tb = new DataTable(); da.Fill(tb); grvPhieuTra.DataSource = tb; grvPhieuTra.Refresh(); } private void loadlai(){ txtmaphieutra.Clear(); cbMaPhieuMuon.Refresh(); lbTenThuThu.Text = ""; txttimkiem_madocgia.Clear(); cbMaPhieuMuon.Refresh(); lbMaDocGia.Text = ""; lbMaSach.Text = ""; txtTienNopPhat.Clear(); Load_PhieuTra(); txtmaphieutra.Enabled = true; } h Chức 8: Thống Kê Sách - Mô tả: - Giao diện: - Code: private void load_ThongKeSach() { if (con.State != ConnectionState.Open) con.Open(); SqlCommand cmd = new SqlCommand("select MaSach, TenSach, TacGia, NXB from Sach", con); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; cmd.Dispose(); con.Close(); DataTable tb = new DataTable(); da.Fill(tb); grvTKSach.DataSource = tb; grvTKSach.Refresh(); } private void ThongKeSach_Load(object sender, EventArgs e) { load_ThongKeSach(); } private void xuatDanhSach_Click(object sender, EventArgs e) { string p_masach = txtmasach.Text.Trim(); string p_tensach = txttensach.Text.Trim(); string p_tacgia = txttacgia.Text.Trim(); string p_nxb = txtNXB.Text.Trim(); Form f = new InSach(p_masach, p_tensach, p_tacgia, p_nxb); f.Show(); } private void timkiem_Click(object sender, EventArgs e) { string p_timkiemTacGia = txtTKtacgia.Text.Trim(); if (con.State != ConnectionState.Open) con.Open(); SqlCommand cmd = new SqlCommand("Sach_TKS", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@TacGia", SqlDbType.NVarChar, 50).Value = p_timkiemTacGia; cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataTable tb = new DataTable(); da.Fill(tb); grvTKSach.DataSource = tb; grvTKSach.Refresh(); } private void thoat_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn có muốn khơng?", "Cảnh Báo", MessageBoxButtons.YesNo) == DialogResult.Yes) Close(); } private void grvTKSach_CellClick(object sender, DataGridViewCellEventArgs e) { int i = e.RowIndex; txtmasach.Text = grvTKSach.Rows[i].Cells[1].Value.ToString(); txttensach.Text = grvTKSach.Rows[i].Cells[2].Value.ToString(); txttacgia.Text = grvTKSach.Rows[i].Cells[3].Value.ToString(); txtNXB.Text = grvTKSach.Rows[i].Cells[4].Value.ToString(); txtmasach.Enabled = false; } private void btXoa_Click(object sender, EventArgs e) { string p_masach = txtmasach.Text.Trim(); if (con.State != ConnectionState.Open) con.Open(); SqlCommand cmd = new SqlCommand("Sach_Del", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MaSach", SqlDbType.NVarChar, 50).Value = p_masach; cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); load_ThongKeSach(); MessageBox.Show("Xóa thành cơng", "Thơng Báo"); txtmasach.Enabled = true; } 2.2 Độc Giả a Chức 1: Đăng Nhập - Mô tả: Đăng nhập vào tài khoản thành viên - Giao diện: - Code: class KiemTraDocGia { public int CheckLogin(string username, string password) { AccessData acc = new AccessData(); SqlDataReader reader = acc.ExecuteReader("SELECT MaDocGia, MatKhau FROM DocGia"); while (reader.Read()) { if (reader[0].ToString() == username && reader[1].ToString() == password) { return 1; } } return 0; } } class KiemTraThuThu { public int CheckLogin(string username, string password) { AccessData acc = new AccessData(); SqlDataReader reader = acc.ExecuteReader("SELECT MaThuThu, MatKhau FROM ThuThu"); while (reader.Read()) { if (reader[0].ToString() == username && reader[1].ToString() == password) { return 1; } } return 0; } } private void DangNhap1_Load(object sender, EventArgs e) { } private void btQuanLy_Click(object sender, EventArgs e) { KiemTraThuThu dn = new KiemTraThuThu(); if (dn.CheckLogin(txtTaiKhoan.Text, txtMatKhau.Text) == 1) { Manager_QuanLy hd = new Manager_QuanLy(); MessageBox.Show("Đăng Nhập Thành Công","Thông Báo"); this.Hide(); hd.ShowDialog(); } else { lblThongBao.ForeColor = System.Drawing.Color.Red; lblThongBao.Text = "Sai mã thủ thư mật Vui lòng nhập lại !!!"; txtTaiKhoan.Clear(); txtMatKhau.Clear(); } } private void btNguoiDung_Click(object sender, EventArgs e) { KiemTraDocGia dn = new KiemTraDocGia(); Manager_NguoiDung GDKH = new Manager_NguoiDung(); if (dn.CheckLogin(txtTaiKhoan.Text, txtMatKhau.Text) == 1) { MessageBox.Show("Đăng Nhập Thành Công","Thông Báo"); this.Hide(); GDKH.ShowDialog(); } else { lblThongBao.ForeColor = System.Drawing.Color.Red; lblThongBao.Text = "Sai mã độc giả mật Vui lòng nhập lại !!!"; txtTaiKhoan.Clear(); txtMatKhau.Clear(); } } private void cbHienThiMatKhau_CheckedChanged(object sender, EventArgs e) { if (cbHienThiMatKhau.Checked) { txtMatKhau.PasswordChar = (char)0; } else { txtMatKhau.PasswordChar = '*'; } } b Chức 2: Đổi Mật Khẩu - Mô tả: Đổi mật tuỳ vào mục đích Người Dùng - Giao diện: - Code: public bool KiemTra() { if (txtTaiKhoan.Text == "") { lbThongBao.ForeColor = System.Drawing.Color.Red; lbThongBao.Text = "Vui lòng nhập tên tài khoản !!"; txtTaiKhoan.Focus(); return false; } else if (txtMatKhau.Text == "") { lbThongBao.ForeColor = System.Drawing.Color.Red; lbThongBao.Text = "Vui lòng nhập mật !!"; txtMatKhau.Focus(); return false; } else if (txtMatKhauMoi.Text == "") { lbThongBao.ForeColor = System.Drawing.Color.Red; lbThongBao.Text = "Vui lòng nhập mật !!"; txtMatKhauMoi.Focus(); return false; } else if (txtNhapLai.Text == "") { lbThongBao.ForeColor = System.Drawing.Color.Red; lbThongBao.Text = "Vui lòng xác nhận mật !!"; txtNhapLai.Focus(); return false; } else if (txtMatKhauMoi.Text != txtNhapLai.Text) { lbThongBao.ForeColor = System.Drawing.Color.Red; lbThongBao.Text = "Mật mật xác nhận không trùng khớp"; txtNhapLai.Focus(); txtNhapLai.SelectAll(); return false; } return true; } private void btDoiMatKhau_Click(object sender, EventArgs e) { if (KiemTra()) { try { SqlConnection conn = new SqlConnection("Data Source=LAPTOPGE6JARV0\\SQLEXPRESS;Initial Catalog=Nhom7_QuanLyThuVien;Integrated Security=True"); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "SP_Update_Pass"; cmd.Parameters.Add("@User", SqlDbType.NVarChar).Value = txtTaiKhoan.Text; cmd.Parameters.Add("@OldPass", SqlDbType.NVarChar).Value = txtMatKhau.Text; cmd.Parameters.Add("@NewPass", SqlDbType.NVarChar).Value = txtMatKhauMoi.Text; cmd.Connection = conn; conn.Open(); SqlDataReader dr; dr = cmd.ExecuteReader(); dr.Read(); if (dr.GetInt32(0) == 1) { lbThongBao.ForeColor = System.Drawing.Color.Blue; lbThongBao.Text = dr.GetString(1); MessageBox.Show("Thay Đổi Mật Khẩu Thành Công!!!", "Thông Báo"); Close(); } else { lbThongBao.ForeColor = System.Drawing.Color.Red; lbThongBao.Text = dr.GetString(1); txtMatKhau.Focus(); txtMatKhau.SelectAll(); } dr.Close(); conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (cbHienThiMatKhau.Checked) { txtMatKhau.PasswordChar = (char)0; txtMatKhauMoi.PasswordChar = (char)0; txtNhapLai.PasswordChar = (char)0; } else { txtMatKhau.PasswordChar = '*'; txtMatKhauMoi.PasswordChar = '*'; txtNhapLai.PasswordChar = '*'; } } c Chức 3: Giao diện Người Dùng - Mơ tả: Đăng nhập vào tài khoản thành viên - Giao diện: - Code: private void tìmSáchToolStripMenuItem_Click(object sender, EventArgs e) { TimKiemSach GDKH_Sach = new TimKiemSach(); GDKH_Sach.Show(); } private void DoiMatKhau_Click(object sender, EventArgs e) { DoiMatKhau GDKH_DoiMK = new DoiMatKhau(); GDKH_DoiMK.Show(); } d Chức 4: Tìm Kiểm Sách - Mơ tả: Tìm kiếm thơng tin sách muốn mượn (mua) - Giao diện: - Code: private void Load_grvSach() { if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand("Select * from Sach", conn); cmd.ExecuteNonQuery(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; cmd.Dispose(); conn.Close(); DataTable tb = new DataTable(); da.Fill(tb); grvSach.DataSource = tb; grvSach.Refresh(); } private void rbmasach_CheckedChanged(object sender, EventArgs e) { string p_masach = Nhapthongtin_timkiem.Text.Trim(); if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand("Sach_TimKiemMaSach", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MaSach", SqlDbType.NVarChar, 50).Value = p_masach; cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataTable tb = new DataTable(); da.Fill(tb); grvSach.DataSource = tb; grvSach.Refresh(); } private void rbtensach_CheckedChanged(object sender, EventArgs e) { string p_tensach = Nhapthongtin_timkiem.Text.Trim(); if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand("Sach_TimKiemTenSach", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@TenSach", SqlDbType.NVarChar, 50).Value = p_tensach; cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataTable tb = new DataTable(); da.Fill(tb); grvSach.DataSource = tb; grvSach.Refresh(); } private void rbtacgia_CheckedChanged(object sender, EventArgs e) { string p_tacgia = Nhapthongtin_timkiem.Text.Trim(); if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand("Sach_TimKiemTacGia", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@TacGia", SqlDbType.NVarChar, 50).Value = p_tacgia; cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataTable tb = new DataTable(); da.Fill(tb); grvSach.DataSource = tb; grvSach.Refresh(); } private void btLamMoi_Click(object sender, EventArgs e) { Load_grvSach(); rbmasach.Checked = false; rbtacgia.Checked = false; rbtensach.Checked = false; Nhapthongtin_timkiem.Clear(); } BẢNG PHÂN CHIA CÔNG VIỆC NHÓM ST T Họ Tên Mã Sinh Viên Chức Năng Trương Bá Cát Trường 71DCTT2216 Đổi Mật Khẩu Phiếu Mượn Mức Độ Hoàn Thành 90% Phiếu Trả Trịnh Tiến Quang 71DCTT2213 Đăng Nhập Thêm Hoá Đơn 80% Quản Lý Sách Nguyễn Công Thành 71DCTT2215 Quản Lý Thành Viên Thống Kê Sách 95% Tìm Kiếm Sách Trịnh Đức Tùng 71DCTT2217 Giao diện Người Dùng Giao diện Quản Lý Quản Lý Độc Giả 100% ... x? ?c, thư viện c? ??n tin h? ?c hố c? ?ng vi? ?c quản lý danh m? ?c sách quản lý đ? ?c giả Phần mềm quản lý thư viện nhằm giải phần khó khăn Phần mềm hỗ trợ thông dụng mà nhiệm vụ thủ thư hay làm hỗ trợ vi? ?c. .. trình quản lý - Giao diện: - Code: class KiemTraDocGia{ public int CheckLogin(string username, string password){ AccessData acc = new AccessData(); SqlDataReader reader = acc.ExecuteReader("SELECT... private void Check_maSachtrung(string p_MaSach, ref int p_kq){ if (con.State != ConnectionState.Open) con.Open(); SqlCommand cmd = new SqlCommand("Check_trungmaSach", con); cmd.CommandType = CommandType.StoredProcedure;

Ngày đăng: 29/04/2022, 19:45

Hình ảnh liên quan

- Chi tiết các bảng: - báo cáo môn lập trình C quản lý thư viện

hi.

tiết các bảng: Xem tại trang 3 của tài liệu.
2.1. Bảng Thủ Thư - báo cáo môn lập trình C quản lý thư viện

2.1..

Bảng Thủ Thư Xem tại trang 3 của tài liệu.
2.2. Bảng Độc Giả - báo cáo môn lập trình C quản lý thư viện

2.2..

Bảng Độc Giả Xem tại trang 4 của tài liệu.
2.4. Bảng Phiếu Mượn - báo cáo môn lập trình C quản lý thư viện

2.4..

Bảng Phiếu Mượn Xem tại trang 5 của tài liệu.
Mô Tả: Bảng Dữ Liệu Chứa Thông Tin Chi Tiết Về Phiếu - báo cáo môn lập trình C quản lý thư viện

ng.

Dữ Liệu Chứa Thông Tin Chi Tiết Về Phiếu Xem tại trang 5 của tài liệu.
BẢNG PHÂN CHIA CÔNG VIỆC NHÓM - báo cáo môn lập trình C quản lý thư viện
BẢNG PHÂN CHIA CÔNG VIỆC NHÓM Xem tại trang 60 của tài liệu.

Mục lục

    CHƯƠNG 1: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG

    1. Khảo sát và phân tích bài toán

    2. Xây dựng cơ sở dữ liệu

    CHƯƠNG 2: CƠ SỞ NGHIÊN CỨU LÝ THUYẾT

    1. Ngôn ngữ truy vấn SQL

    2. Ngôn ngữ lập trình C#

    CHƯƠNG 3: XÂY DỰNG PHẦN MỀM

    1. Sơ đồ chức năng của phần mềm

    2.1. Quản Lý, Nhân Viên

    a. Chức năng 1: Đăng Nhập

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan