1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn học phần lập trình trên WINDOWS quản lý bán hàng

39 2 0

Đ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

Tiêu đề Báo Cáo Bài Tập Lớn Học Phần Lập Trình Trên Windows Quản Lý Bán Hàng
Tác giả Rmah H’ Ngok
Người hướng dẫn Đinh Thị Mỹ Cảnh
Trường học Trường Đại Học Quy Nhơn
Chuyên ngành Lập Trình Trên Windows
Thể loại Báo cáo
Năm xuất bản 2022
Thành phố Bình Định
Định dạng
Số trang 39
Dung lượng 704,89 KB

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

Cấu trúc

  • Chương I Giới Thiệu (3)
  • Chương II Thiết kế và Chương trình (4)
    • 1. Cơ sở dữ liệu (4)
    • 2. Thiết kế giao diện (8)
  • Chương III.Kết Luận (39)

Nội dung

thông tinMagic Home  Câu lệnh cho nút Sign Up privatevoid btnsignup_Clickobject sender, EventArgs e "@Numberphone", "@Email", "@Repassword" }; txtemail.Text, txtrepass.Text }; KetNoi.m

Giới Thiệu

Hiện nay, sự phát triển nhanh chóng của xã hội và công nghệ thông tin trên toàn cầu đang tạo ra nhu cầu ngày càng cao về việc ứng dụng công nghệ vào công việc, học tập và đời sống Công nghệ thông tin không chỉ phát triển mạnh mẽ mà còn mang đến sự đa dạng trong các ứng dụng phục vụ cuộc sống con người.

Nhu cầu quản lý bán hàng ngày càng tăng cao, với sự xuất hiện của nhiều công nghệ mới và phần mềm hiện đại, giúp người dùng quản lý thông tin nhân viên, khách hàng và sản phẩm một cách hiệu quả Để đáp ứng nhu cầu này, cần có một hệ thống quản lý bán hàng tối ưu, cho phép người dùng dễ dàng lưu trữ, cập nhật và kiểm soát thông tin một cách đầy đủ và chính xác.

Một số chức năng quản lý của đề tài :

- Quản lý hóa đơn Ứng dụng được phát triển trong môi trường phần mềm sau :

 Môi trường phát triển : Visual Studio.NET

 Giao diện người dùng : Windows Forms App(.NET Framework)

 Truy cập dữ liệu : ADO.NET

 Cơ sở dữ liêu : SQL Server

Thiết kế và Chương trình

Cơ sở dữ liệu

Tên thuộc tính Kiểu Ràng buộc Mô tả

Numberphone int Null Số Điện Thoại

) Null Nhập lại mật khẩu b Bảng nhanvien

Tên thuộc tính Kiểu Ràng buộc Mô tả

MaNV nvarchar(50) Primary Key Mã Nhân Viên

TenNV nvarchar(50) Null Tên Nhân Viên

GTinh bit Null Giới Tính

NSinh datetimeb Null Ngày Sinh

DChi nvarchar(50) Null Địa Chỉ

SDT nvarchar(50) Null Số Điện Thoại

Picture nvarchar(50) Null Ảnh c Bảng khachhang

Tên thuộc tính Kiểu Ràng buộc Mô tả

MaKH nvarchar(50) Primary Key Mã Khách Hàng

TenKH nvarchar(50) Null Tên Khách Hàng

GTinh bit Null Giới Tính

Dchi nvarchar(50) Null Địa Chỉ

SDT int Null Số Điện Thoại d Bảng sanpham

Tên thuộc tính Kiểu Ràng buộc Mô tả

MaAlbum nvarchar(50) Primary Key Mã Album

TenAlbum nvarchar(50) Null Tên Album

MaVer nchar(10) Primary Key Mã Ver

SLuong int Null Số Lượng

GiaVao int Null Giá Nhập Hàng

GiaRa int Null Giá Bán Hàng

Picture nvarchar(50) Null Hình ảnh album e Bảng hoadon

Tên thuộc tính Kiểu Ràng buộc Mô tả

MaHD nvarchar(50) Primary Key Mã Hóa Đơn

TenHD nvarchar(50) Null Tên Hóa Đơn

MaNV nvarchar(50) Primary Key Mã Nhân Viên

TenNV nvarchar(50) Null Tên Nhân Viên

MaKH nvarchar(50) Primary Key Mã Khách

TenKH nvarchar(50) Null Tên Khách Hàng

MaAlbum nvarchar(50) Primary Key Mã Album

TenAlbum nvarchar(50) Null Tên Album

MaVer nchar(10) Primary Key Mã Ver

SLuong int Null Số Lượng

ThanhTien int Null Thành Tiền

NgayDatHang datetime Null Ngày Đặt Hàng

NgayNhanHang datetime Null Ngày Nhận

DiaChiNhan nvarchar(50) Null Địa Chỉ Nhận

GhiChu nvarchar(50) Null Ghi Chú f Bảng LoaiVer

Tên thuộc tính Kiểu Ràng buộc Mô tả

MaVer nchar(10) Primary Key Mã Ver

TenVer nchar(10) Null Tên Ver

Thiết kế giao diện

a Giao diện đầu của Magic Shop

 Các thành phần trong màn hình

Sign In Button Mở màn hình đăng nhập

Sign Up Button Mở màn hình đăng ký

 Câu lệnh cho nút mở Sign In private void btndangnhap_Click(object sender, EventArgs e)

Form1 f1 = new Form1(); this.Hide(); f1.ShowDialog();

 Câu lệnh cho nút mở Sign Up private void btndangky_Click(object sender, EventArgs e)

Form2 f2 = new Form2(); this.Hide(); f2.ShowDialog();

 Các thành phần trong màn hình

Trong giao diện đăng nhập, người dùng sẽ nhập tên đăng nhập vào ô txtuser và mật khẩu vào ô txtpass Để bảo mật, có thể sử dụng chkShow để hiển thị mật khẩu Cuối cùng, nhấn nút btnblog để thực hiện đăng nhập khi đã điền đầy đủ thông tin.

9 btnexit Button Thoát khỏi màn hình đăng nhập lbregister LinkLabel Link mở màn hình đăng ký

 Câu lệnh hiển thị mật khẩu private void chkShow_CheckedChanged(object sender, EventArgs e)

 Câu lệnh kiểm tra đăng nhập ở KetNoi.cs public static bool dangNhap(string user, string pw)

SqlDataReader reader = null; bool OK = false; string sql = "select * from admin";

SqlCommand cmd = new SqlCommand(sql, conn); reader = cmd.ExecuteReader(); while (reader.Read())

{ if ((user.Trim() == reader["Username"].

ToString().Trim()) && pw.Trim() = reader["Password"].ToString().Trim())

 Câu lệnh cho nút Sign In private void btblog_Click(object sender, EventArgs e)

KetNoi.moKetNoi(); if (KetNoi.dangNhap(txtuser.Text,txtpass.Text) == false)

MessageBox.Show("Tên đăng nhập/Mật khẩu không hợp lệ!"); else

FrmMain main = new FrmMain(); this.Hide(); main.ShowDialog();

 Câu lệnh cho nút Exit private void btnexit_Click(object sender, EventArgs e)

Form7 f7 = new Form7(); this.Hide(); f7.ShowDialog();

 Các thành phần trong màn hình

Tên Kiểu Mô tả txtuser TextBox Người dùng nhập

Username txtpass TextBox Người dùng nhập Password txtphone TextBox Người dùng nhập Number

Phone txtemail TextBox Người dùng nhập email txtrepass TextBox Người dùng nhập lại

Password checkBox1 CheckBox Hiển thị mật khẩu btnsignup Button Đăng ký khi đã điền đầy đủ

Downloaded by Quang Quang (khoa31141020806@gmail.com) thông tin btnexit Button Thoát khỏi màn hình đăng ký và trở về màn hình Magic Home

 Câu lệnh cho nút Sign Up private void btnsignup_Click(object sender, EventArgs e)

{ string sql = "Insert into admin values(@Username,@Password

,@Numberphone,@Email,@Repassword)"; string[] name = { "@Username", "@Password",

"@Numberphone", "@Email", "@Repassword" }; object[] value = { txtuser.Text, txtpass.Text, txtphone.Text, txtemail.Text, txtrepass.Text };

KetNoi.updateData(sql, value, name, 5);

FrmMain fmain = new FrmMain(); this.Hide(); fmain.ShowDialog();

 Câu lệnh cho nút Exit private void btnexit_Click(object sender, EventArgs e)

Form7 f7 = new Form7(); this.Hide(); f7.ShowDialog();

 Câu lệnh cho nút Show Password private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked)

Downloaded by Quang Quang (khoa31141020806@gmail.com)

{ txtpass.PasswordChar = (char)0; txtrepass.PasswordChar = (char)0;

Downloaded by Quang Quang (khoa31141020806@gmail.com)

Downloaded by Quang Quang (khoa31141020806@gmail.com)

 Các thành phần trong màn hình

Tên Kiểu Mô tả toolNhanVien ToolStripMenuItem Người dùng nhấp chuột vào menu nhân viên sẽ mở màn hình quản lý nhân viên toolKhachHang ToolStripMenuItem

Người dùng nhấp chuột vào menu khách hàng sẽ mở màn hình quản lý khách hàng toolAblum ToolStripMenuItem

Người dùng nhấp chuột vào menu album sẽ mở màn hình quản lý album toolHoaDon ToolStripMenuItem

Người dùng nhấp chuột vào menu hóa đơn sẽ mở màn hình quản lý hóa đơn toolThoat ToolStripMenuItem

Người dùng nhấp chuột vào menu thoát sẽ thoát về màn hình Magic Hom

 Câu lệnh các nút trong quản lý o NHÂN VIÊN private void toolNhanVien_Click(object sender, EventArgs e) {

Form3 nv = new Form3(); this.Hide(); nv.ShowDialog();

} o KHÁCH HÀNG private void toolKhachHang_Click(object sender, EventArgs e) {

Form4 kh = new Form4(); this.Hide(); kh.ShowDialog();

Downloaded by Quang Quang (khoa31141020806@gmail.com) private void toolAblum_Click(object sender, EventArgs e) {

Form5 sp = new Form5(); this.Hide(); sp.ShowDialog();

Private void toolHoaDon_Click(object sender, EventArgs e) {

Form6 hd = new Form6(); this.Hide(); hd.ShowDialog();

 Câu lệnh cho các nút trong giúp đỡ o THOÁT private void toolThoat_Click(object sender, EventArgs e) {

Form7 sign = new Form7(); this.Hide(); sign.ShowDialog();

Downloaded by Quang Quang (khoa31141020806@gmail.com) e Giao Diện Nhân Viên

 Các thành phần trong màn hình

Trong hệ thống quản lý nhân viên, người dùng có thể nhập mã nhân viên qua ô txtmanv, tên nhân viên qua ô txttennv, và chọn ngày tháng năm sinh qua ô dtime Thông tin địa chỉ được nhập vào ô txtDiaChi, trong khi số điện thoại nhân viên được ghi vào ô txtsdt Để chọn ảnh nhân viên, người dùng sử dụng ô btnanh Để tìm kiếm nhân viên theo mã, ô txtTim được sử dụng cùng với nút btnTim Thông tin nhân viên sẽ được hiển thị trong bảng data DataGridView Ngoài ra, người dùng có thể thêm nhân viên mới vào cơ sở dữ liệu qua nút btnThem và sửa thông tin nhân viên hiện có qua nút btnSua.

Tải xuống bởi Quang Quang (khoa31141020806@gmail.com) Các nút chức năng bao gồm: nút Xóa để xóa nhân viên khỏi cơ sở dữ liệu, nút Làm mới để làm mới các ô textbox, và nút Quay trở về trang HOME Ngoài ra, có hai lựa chọn giới tính: RadioButton cho giới tính nam và RadioButton cho giới tính nữ.

PictureBox1 PictureBox Hiển thị ảnh của nhân viên

 Câu lệnh load thông tin lên DataGridView private void Form3_Load(object sender, EventArgs e)

{ string sql = "select * from nhanvien"; data.DataSource = KetNoi.getData(sql);

 Câu lệnh cho nút mở ảnh private void btnanh_Click(object sender, EventArgs e)

OpenFileDialog oFile = new OpenFileDialog(); if(oFile.ShowDialog() == DialogResult.OK)

{ pictureBox1.Image = Image.FromFile(oFile.FileName); lbanh.Text = Path.GetFileName(oFile.FileName);

 Câu lệnh cho nút Thêm private void btnThem_Click(object sender, EventArgs e)

{ string sql = "Insert into nhanvien values(@MaNV,@TenNV

,@GTinh,@Nsinh,@DChi,@SDT,@Picture)"; string[] name = { "@MaNV", "@TenNV", "@GTinh", "@NSinh",

Downloaded by Quang Quang (khoa31141020806@gmail.com) bool gt = rdNam.Checked == true ? true : false; object[] value = { txtmanv.Text, txttennv.Text, gt, dtime.Value,txtDchi.Text, txtsdt.Text, lbanh.Text };

KetNoi.updateData(sql, value, name, 7); loadData();

 Câu lệnh cho nút Xóa private void btnXoa_Click(object sender, EventArgs e)

{ int i = data.CurrentCell.RowIndex; if (i >= 0)

DialogResult dr = MessageBox.Show("Bạn có muốn xóa không?", "Thông báo", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK)

{ string ma = data.Rows[i].Cells[0].Value.ToString(); string sql = string.Format("delete from nhanvien where maNV

='{0}'", ma); object[] value = { }; string[] name = { };

KetNoi.updateData(sql, value, name, 0); loadData();

 Câu lệnh cho nút Sửa private void btnSua_Click(object sender, EventArgs e)

{ string sql = string.Format("Update nhanvien set MaNV @MaNV,tenNV =@TenNV ,GTinh = @GTinh, NSinh=@NSinh, DChi

=@DChi ,SDT =@SDT,Picture = @Picture where MaNV ='{0}'", txtmanv.Text);

Downloaded by Quang Quang (khoa31141020806@gmail.com) string[] name = { "@MaNV", "@TenNV", "@GTinh", "@NSinh",

"@DChi", "@SDT", "@Picture" }; bool gt = rdNam.Checked == true ? true : false; object[] value = { txtmanv.Text, txttennv.Text, gt, dtime.Value, txtDchi.Text, txtsdt.Text, lbanh.Text };

KetNoi.updateData(sql, value, name, 7); loadData();

 Câu lệnh cho nút Làm mới private void btnLammoi_Click(object sender, EventArgs e)

{ txttennv.Clear(); txtmanv.Clear(); txtDchi.Clear(); txtsdt.Clear(); txttennv.Focus();

 Câu lệnh cho nút Home private void btntrangchu_Click(object sender, EventArgs e)

FrmMain main = new FrmMain(); this.Hide(); main.ShowDialog();

 Câu lệnh cho nút Tìm kiếm private void btnTim_Click(object sender, EventArgs e)

Downloaded by Quang Quang (khoa31141020806@gmail.com) string sql = string.Format("select * from nhanvien where MaNV like N'%{0}%'", txtTim.Text); data.DataSource = KetNoi.getData(sql);

The code snippet demonstrates how to display employee information in text boxes when a cell in the DataGridView is clicked It retrieves the current row index and populates the text boxes with the employee's ID and name from the respective cells Additionally, it checks the value of the gender cell, determining if it is marked as "True."

In the code snippet, the checkbox `rdNu` is set to true if a certain condition is met The text fields are populated with values from specific cells in a data table, including `dtime`, `txtDchi`, `txtsdt`, and `lbanh` The image path is constructed using a configuration setting combined with the value from `lbanh` Finally, the code checks if the file exists at the specified image path.

{ pictureBox1.Image = Image.FromFile(pathAnh);

Downloaded by Quang Quang (khoa31141020806@gmail.com) f Giao Diện Khách Hàng

 Các thành phần trong màn hình

Trong hệ thống quản lý khách hàng, người dùng có thể nhập thông tin qua các trường như mã khách hàng (txtKH), tên khách hàng (txttenKH), và địa chỉ khách hàng (txtDchi) Để chọn giới tính, có hai tùy chọn là nam (rdNam) và nữ (rdNu) Người dùng cũng có thể nhập số điện thoại (txtSDT) và mã khách hàng cần tìm (txtTim) để tra cứu thông tin Các chức năng bao gồm tìm kiếm khách hàng (btnTim), thêm khách hàng mới vào cơ sở dữ liệu (btnthem), và xóa khách hàng khỏi cơ sở dữ liệu (btnXoa).

Quang Quang đã tải xuống thông tin khách hàng qua email khoa31141020806@gmail.com Các nút chức năng bao gồm: "Sửa thông tin khách hàng" (btnSua), "Làm mới các ô textbox" (btnlmoi), và "Quay về màn hình HOME" (btntrangchu) Dữ liệu được hiển thị trong DataGridView để cung cấp thông tin chi tiết về khách hàng.

 Câu lệnh load thông tin lên DataGridView private void Form4_Load(object sender, EventArgs e)

{ string sql = "select * from khachhang"; data.DataSource = KetNoi.getData(sql);

 Câu lệnh cho nút Thêm private void btnthem_Click(object sender, EventArgs e)

{ string sql = "Insert into khachhang values(@MaKH,@TenKH,@GTinh,@DChi,@SDT)"; string[] name = { "@MaKH", "@TenKH", "@GTinh" , "@DChi",

"@SDT" }; bool gt = rdNam.Checked == true ? true : false; object[] value = { txtKH.Text, txttenKH.Text, gt , txtDChi.Text, txtSDT.Text };

KetNoi.updateData(sql, value, name, 5); loadData();

 Câu lệnh cho nút Xóa private void btnXoa_Click(object sender, EventArgs e)

Downloaded by Quang Quang (khoa31141020806@gmail.com)

{ int i = data.CurrentCell.RowIndex; if (i >= 0)

DialogResult dr = MessageBox.Show("Bạn có muốn xóa không?", "Thông báo", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK)

{ string ma = data.Rows[i].Cells[0].Value.ToString(); string sql = string.Format("delete from khachhang where maKH ='{0}'", ma); object[] value = { }; string[] name = { };

KetNoi.updateData(sql, value, name, 0); loadData();

 Câu lệnh cho nút Sửa private void btnSua_Click(object sender, EventArgs e)

{ string sql = string.Format("Update khachhang set MaKH @MaKH,TenKH =@TenKH , GTinh=@GTinh, DChi =@DChi ,SDT

=@SDT where MaKH ='{0}'", txtKH.Text); string[] name = { "@MaKH", "@TenKH", "@GTinh", "@DChi",

"@SDT" }; bool gt = rdNam.Checked == true ? true : false; object[] value = { txtKH.Text, txttenKH.Text, gt , txtDChi.Text, txtSDT.Text };

KetNoi.updateData(sql, value, name, 5); loadData();

Downloaded by Quang Quang (khoa31141020806@gmail.com)

 Câu lệnh cho nút Làm mới private void btnlmoi_Click(object sender, EventArgs e)

{ txttenKH.Clear(); txtKH.Clear(); txtDChi.Clear(); txtSDT.Clear(); txttenKH.Focus();

 Câu lệnh cho nút Home private void btntrangchu_Click(object sender, EventArgs e)

FrmMain fmain = new FrmMain(); this.Hide(); fmain.ShowDialog();

 Câu lệnh cho nút Tìm kiếm private void btnTim_Click(object sender, EventArgs e)

{ string sql = string.Format("select * from khachhangwhere MaKH like N'%{0}%'", txtTim.Text); data.DataSource = KetNoi.getData(sql);

 Câu lệnh hiển thị thông tin nhân viên lên các ô textbox private void data_CellClick_1(object sender, DataGridViewCellEventArgs e)

{ int i = data.CurrentCell.RowIndex; txtKH.Text = data.Rows[i].Cells[0].Value.ToString(); txttenKH.Text = data.Rows[i].Cells[1].Value.ToString(); string gt = data.Rows[i].Cells[2].Value.ToString(); if (gt == "True")

Downloaded by Quang Quang (khoa31141020806@gmail.com)

} else rdNu.Checked = true; txtDChi.Text = data.Rows[i].Cells[3].Value.ToString(); txtSDT.Text = data.Rows[i].Cells[4].Value.ToString();

 Các thành phần trong màn hình

Trong bài viết này, chúng ta sẽ tìm hiểu về các trường nhập liệu trong một ứng dụng quản lý album Người dùng có thể nhập mã album qua trường txtalb, tên album qua trường txttenalb, và chọn phiên bản album từ cbover Ngoài ra, các trường txtsoluong, txtgiavao và txtgiara cho phép người dùng nhập số lượng, giá mua và giá bán của album Để tìm kiếm album theo mã, người dùng có thể sử dụng trường txtTim và nút btnTim Cuối cùng, nút btnmo cho phép chọn ảnh hiển thị cho từng album.

Tải xuống album bởi Quang Quang (khoa31141020806@gmail.com) Sử dụng nút "Thêm" để thêm album mới vào cơ sở dữ liệu, nút "Xóa" để xóa album khỏi cơ sở dữ liệu, và nút "Sửa" để chỉnh sửa thông tin album Nút "Làm mới" sẽ làm mới các ô textbox, trong khi nút "Quay về trang HOME" sẽ đưa bạn trở lại trang chính Thông tin album được hiển thị trong DataGridView.

PictureBox1 PictureBox Hiển thị ảnh của từng album

 Câu lệnh load thông tin lên DataGridView private void Form5_Load(object sender, EventArgs e)

{ string sql = "select * from sanpham"; data.DataSource = KetNoi.getData(sql);

 Câu lệnh cho nút mở ảnh private void btnmo_Click(object sender, EventArgs e)

OpenFileDialog oFile = new OpenFileDialog(); if (oFile.ShowDialog() == DialogResult.OK)

{ pictureBox1.Image = Image.FromFile(oFile.FileName); lbanh.Text = Path.GetFileName(oFile.FileName);

 Câu lệnh cho nút Thêm

Downloaded by Quang Quang (khoa31141020806@gmail.com) private void btnthem_Click(object sender, EventArgs e)

{ string sql = "Insert into sanpham values(@MaAlbum,@TenAlbum

,@MaVer,@SLuong,@GiaVao,@GiaRa,@Picture)"; string[] name = { "@MaAlbum", "@TenAlbum", "@MaVer",

"@SLuong", "@GiaVao", "@GiaRa", "@Picture" }; object[] value = { txtalb.Text, txttenalb.Text, cbover.SelectedValue,txtsoluong.Text,txtgiavao.Text,txtgiara.Text, lbanh.Text };

KetNoi.updateData(sql, value, name, 7); loadData();

 Câu lệnh cho nút Xóa private void btnxoa_Click(object sender, EventArgs e)

{ int i = data.CurrentCell.RowIndex; if (i >= 0)

DialogResult dr = MessageBox.Show("Bạn có muốn xóa không?", "Thông báo", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK)

{ string ma = data.Rows[i].Cells[0].Value.ToString(); string sql = string.Format("delete from sanpham where

MaAlbum ='{0}'", ma); object[] value = { }; string[] name = { };

KetNoi.updateData(sql, value, name, 0); loadData();

Downloaded by Quang Quang (khoa31141020806@gmail.com)

 Câu lệnh cho nút Sửa private void btnsua_Click(object sender, EventArgs e)

{ string sql = string.Format("Update sanpham set MaAlbum @MaAlbum,tenAlbum =@TenAlbum ,MaVer =@MaVer,SLuong

=@SLuong ,GiaVao =@GiaVao, GiaRa = @GiaRa,Picture = @Picture where MaAlbum ='{0}'", txtalb.Text); string[] name = { "@MaAlbum", "@TenAlbum", "@MaVer",

"@SLuong", "@GiaVao", "@GiaRa", "@Picture" }; object[] value = { txtalb.Text, txttenalb.Text, cbover.SelectedValue, txtsoluong.Text, txtgiavao.Text, txtgiara.Text, lbanh.Text };

KetNoi.updateData(sql, value, name, 7); loadData();

 Câu lệnh cho nút Làm mới private void btnlmoi_Click(object sender, EventArgs e)

{ txttenalb.Clear(); txtalb.Clear(); txtsoluong.Clear(); txtgiavao.Clear(); txtgiara.Clear(); txttenalb.Focus();

 Câu lệnh cho nút Home private void btntrangchu_Click(object sender, EventArgs e)

FrmMain main = new FrmMain(); this.Hide(); main.ShowDialog();

Downloaded by Quang Quang (khoa31141020806@gmail.com)

 Câu lệnh cho nút Tìm kiếm private void btnTim_Click(object sender, EventArgs e)

{ string sql = string.Format("select * from sanpham where MaAlbum like N'%{0}%'", txtTim.Text); data.DataSource = KetNoi.getData(sql);

The code snippet demonstrates how to display employee information in text boxes when a cell in a DataGridView is clicked It retrieves the current row index and populates various text fields, such as `txtalb`, `txttenalb`, and `txtsoluong`, with corresponding values from the selected row Additionally, it sets the selected value of a combo box based on the data in the row The code also constructs a file path for an image using a configuration setting and checks if the image file exists.

{ pictureBox1.Image = Image.FromFile(pathAnh);

Downloaded by Quang Quang (khoa31141020806@gmail.com) h Giao Diện Hóa Đơn

 Các thành phần trong màn hình

Trong bài viết này, chúng tôi mô tả các trường thông tin cần thiết cho việc nhập liệu hóa đơn Các trường bao gồm: mã hóa đơn (txtmahd), tên hóa đơn (txttenhd), mã nhân viên (txtmanv), tên nhân viên (txttennv), mã khách hàng (txtmakh), tên khách hàng (txttenkh) và mã Album (txtmalb) Mỗi trường đều yêu cầu người dùng nhập thông tin tương ứng để hoàn tất quy trình.

Txttenalbum TextBox Nhập tên Album cboVer ComboBox Chọn ver của album

Txtsoluong TextBox Nhập số lượng album khách hàng mua

Txttien TextBox Nhập số tiền khách hàng phải trả

Tải xuống bởi Quang Quang (khoa31141020806@gmail.com), dtime1 cho phép chọn ngày đặt hàng, dtime2 cho phép chọn ngày giao hàng Sử dụng txtdchi để nhập địa chỉ giao hàng và txtGhiChu để nhập yêu cầu của khách hàng txtTim cho phép nhập mã hóa đơn cần tìm, trong khi data hiển thị thông tin hóa đơn Các nút chức năng bao gồm btnthem để thêm hóa đơn mới vào cơ sở dữ liệu, btnxoa để xóa hóa đơn khỏi cơ sở dữ liệu, btnsua để sửa thông tin hóa đơn trong cơ sở dữ liệu, và btntrangchu để quay trở về màn hình chính.

 Câu lệnh load thông tin lên DataGridView private void Form6_Load(object sender, EventArgs e)

{ string sql = "select * from LoaiVer"; cboVer.DataSource = KetNoi.getData(sql); cboVer.DisplayMember = "TenVer"; cboVer.ValueMember = "MaVer";

{ string sql = "select * from hoadon"; data.DataSource = KetNoi.getData(sql);

Downloaded by Quang Quang (khoa31141020806@gmail.com)

 Câu lệnh cho nút Thêm private void btnthem_Click(object sender, EventArgs e)

{ string sql = "Insert into hoadon values(@MaHD, @TenHD,

@MaNV, @TenNV, @MaKH ,@TenKH , @MaAlbum, @TenAlbum,

@MaVer, @SLuong, @ThanhTien, @NgayDatHang, @NgayNhanHang,

@DiaChiNhan, @GhiChu)"; string[] name = { "@MaHD", "@TenHD", "@MaNV", "@TenNV",

"@MaKH", "@TenKH", "@MaAlbum", "@TenAlbum" , "@MaVer",

The code snippet initializes two arrays, one for keys and another for corresponding values, which include various text fields and selected values from a user interface The keys array contains identifiers such as "@DiaChiNhan" and "@GhiChu", while the values array captures user inputs like invoice number, employee details, customer information, album details, quantity, amount, and date selections.

KetNoi.updateData(sql, value, name, 15); loadData();

 Câu lệnh cho nút Xóa private void btnxoa_Click(object sender, EventArgs e)

{ int i = data.CurrentCell.RowIndex; if (i >= 0)

DialogResult dr = MessageBox.Show("Bạn có muốn xóa không?", "Thông báo", MessageBoxButtons.OKCancel); if (dr == DialogResult.OK)

{ string ma = data.Rows[i].Cells[0].Value.ToString(); string sql = string.Format("delete from hoadon where MaHD

Downloaded by Quang Quang (khoa31141020806@gmail.com) string[] name = { };

KetNoi.updateData(sql, value, name, 0); loadData();

 Câu lệnh cho nút Sửa private void btnsua_Click(object sender, EventArgs e)

The SQL command updates the "hoadon" table by setting various fields such as "MaHD," "TenHD," "MaNV," "TenNV," "MaKH," "TenKH," "MaAlbum," "TenAlbum," "MaVer," "SLuong," "ThanhTien," "NgayDatHang," "NgayNhanHang," "DiaChiNhan," and "GhiChu" based on the provided parameters The update is executed where the "MaHD" matches the specified value from the input field.

"@MaKH", "@TenKH", "@MaAlbum", "@TenAlbum", "@MaVer",

The code snippet initializes two arrays, one for keys and another for values, which include various text fields and selected values from a user interface The keys array consists of identifiers such as "@DiaChiNhan" and "@GhiChu", while the values array captures user inputs like order ID, employee details, customer information, album details, quantity, amount, and timestamps.

KetNoi.updateData(sql, value, name, 15); loadData();

 Câu lệnh cho nút Làm mới private void btnlammoi_Click(object sender, EventArgs e)

Ngày đăng: 27/04/2023, 11:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w