Hướng dẫn viết phần mềm quản lý bằng c#

Chuyên ổn đề Tin học tập đại cưng cửng Tin học văn uống phòng Word PowerPoint Excel Access Kiểm test phần mềm HTML CSS JavaScript GIS Google Maps Lập trình C .Net PHP SQL Pynhỏ nhắn Tính tân oán song tuy nhiên Lập trình di động Android iOS Học Lập trình qua Project Học trực con đường Tài liệu Sách & Bài giảng Bài báo Tổng đúng theo Nghiên cứu giúp Phát triển ứng dụng Xử lý ngôn từ Tiện ích/Sản phđộ ẩm So sánh sự khác nhau nhị văn uống bản Học CSS trực quan liêu Bản vật VNUA Bản thiết bị những lưu vực lớn nhất Việt Nam Bản đồ gia dụng trực đường Ecopark Hỏi đáp
.Net / Học Lập trình qua Project / Khoá học tập 477
Xây dựng lịch trình thống trị bán sản phẩm bằng C#

Nội dung

Giới thiệu1. Yêu cầu2. Thiết kế đại lý dữ liệua) Tạo vận dụng mớib) Tạo đại lý dữ liệuBảng tblChatLieu (hóa học liệu)Bảng tblKhach (khách)Bảng tblHang (hàng)Bảng tblNhanVien (nhân viên)Bảng tblHDBan (hoá đối chọi bán)Bảng tblChiTietHDBan (cụ thể hoá đơn bán)Quan hệ giữa các bảng (Relationship)Một số chú ý3. Thiết kế giao diệna) Form chínhXem Video phía dẫnb) Form Danh mục hóa học liệuXem Video hướng dẫnc) Form Danh mục nhân viênXem Video phía dẫnd) Form Danh mục Khách HàngXem Video phía dẫne) Form Danh mục hàng hoáXem Video phía dẫnf) Form Hoá đơn chào bán hàngXem Video hướng dẫng) Form Tìm tìm hoá đơnXem Video phía dẫn4. Xử lý sự kiện4.1. Lớp Functions4.2. Form frmMaina) Sự khiếu nại frmMain_Loadb) Sự khiếu nại mnuThoat_Clickc) Hiển thị những khung khác4.3. Form Chất liệua) Khai báob) Sự khiếu nại frmDMChatLieu_Loadc) Pmùi hương thức LoadDataGridViewd) Phương thơm thức GetDataToTableXem Video phía dẫne) Pmùi hương thức dgvChatLieu_Clickf) Pmùi hương thức btnThem_Clickg) Pmùi hương thức ResetValuesh) Pmùi hương thức btnLuu_Clicki) Hàm CheckKeyj) Phương thơm thức RunSQLk) Phương thức btnSua_Clickl) Phương thức btnXoa_Clickm) Pmùi hương thức RunSQLDeln) Phương thức btnBoQua_Clicko) Pmùi hương thức cần sử dụng phím Enter nạm đến phím TabXem Clip trả lời phần trên4.4. Form Danh mục Nhân viêna) Knhị báob) Phương thơm thức frmDMNhanvien_Loadc) Phương thức LoadDataGridView – Hiển thị dữ liệu lên lướid) Phương thức dgvNhanVien_Clicke) Phương thức btnThem_Clickf) Phương thức ResetValuesg) Pmùi hương thức btnLuu_Clickh) Hàm IsDatei) Hàm ConvertDateTimej) Pmùi hương thức btnSua_Clickk) Phương thơm thức btnXoa_Clickl) Phương thơm thức btnBoQua_Clickn) Phương thức btnDong_ClickXem Clip lí giải đưa ra tiết4.5. Form Danh mục Khách hànga) Khai báob) Pmùi hương thức frmDMKhachHang_Loadc) Phương thức LoadDataGridViewd) Pmùi hương thức dgvKhachHang_Clicke) Phương thức btnThem_Clickf) Phương thức ResetValuesg) Phương thơm thức btnLuu_Clickh) Phương thức btnSua_Clicki) Phương thơm thức btnXoa_Clickj) Phương thức btnBoQua_Clickk) Phương thơm thức sử dụng phím Enter chũm đến phím TabXem Clip chỉ dẫn Quản lý Khách Hàng4.6. Form Danh mục Hàng hóaa) Knhị báob) Phương thơm thức frmDMHang_Loadc) Phương thơm thức FillCombod) Phương thức ResetValuese) Pmùi hương thức LoadDataGridViewf) Phương thức dgvHang_Clickh) Pmùi hương thức btnThem_Clicki) Phương thức btnLuu_Clickj) Phương thức btnSua_Clickk) Pmùi hương thức btnXoa_Clickl) Phương thơm thức btnBoQua_Clickm) Pmùi hương thức btnOpen_Clickn) Phương thức btnTimKiem_Clicko) Phương thức btnHienThi_ClickXem Video hướng dẫn Quản lý Hàng Hoá4.7. Form Hóa solo bána) Knhì báob) Pmùi hương thức frmHoaDonBan_Loadc) Phương thơm thức LoadDataGridViewd) Pmùi hương thức LoadInfoHoaDon()e) Phương thơm thức btnThem_Clickf) Hàm CreateKeyg) Hàm ConvertTimeTo24 h) Pmùi hương thức ResetValuesi) Phương thơm thức btnLuu_Clickj) Hàm ChuyenSoSangChuk) Pmùi hương thức ResetValuesHangl) Pmùi hương thức dgvHDBanHang_DoubleClickm) Phương thức btnXoa_Clickn) Pmùi hương thức cboMaNhanVien_TextChangedo) Phương thức cboMaKhach_TextChangedp) Phương thức cboMaHang_TextChangedq) Pmùi hương thức txtSoLuong_TextChangedr) Phương thức txtGiamGia_TextChangeds) Phương thơm thức btnInHoaDon_Clickt) Phương thức btnTimKiem_Clicku) Phương thức txtSoLuong_KeyPressv) Pmùi hương thức cboMaHDBan_DropDownXem Video lý giải Quản lý Hoá Đơn4.8. Form tra cứu kiếm Hóa 1-1 bána) Khai báob) Phương thức frmTimHDBan_Loadc) Phương thức ResetValuesd) Pmùi hương thức btnTimKiem_Clicke) Phương thức LoadDataGridViewf) Pmùi hương thức btnTimLai_Clickg) Phương thơm thức txtTongTien_KeyPressh) Phương thơm thức dgvTKHoaDon_DoubleClicki) Pmùi hương thức btnDong_Click

Giới thiệu

Với sự Thành lập và hoạt động của .Net cùng Visual Studio của Microsoft, bài toán desgin một công tác thống trị với cửa hàng tài liệu sẽ đơn giản hơn không ít. Bài này khuyên bảo các bạn cách chế tác ứng dụng quản lý bán sản phẩm lưu giữ niệm sử dụng ngôn từ xây dựng C# cùng hệ cai quản trị cơ sở tài liệu Squốc lộ Server. Tsay đắm khảo thêm khoá học tương đối đầy đủ xây dựng .NET với khoá nhuần nhuyễn cùng với lập trình sẵn C#.

Bạn đang đọc: Hướng dẫn viết phần mềm quản lý bằng c#

1. Yêu cầu

Xây dựng công tác quản lý siêu thị Bán hàng giữ niệm áp dụng ngữ điệu C# cùng hệ quản trị đại lý tài liệu Squốc lộ Server. Hệ thống tất cả các tính năng cơ bản nlỗi thống trị món đồ, quản lý quý khách, quản lý hoá đơn buôn bán. Thương hiệu hoàn toàn có thể gồm một hoặc đa số người phân phối, cùng với từng hoá đơn bán sản phẩm bắt buộc tất cả công bố của tín đồ bán cho quý khách rõ ràng.

2. Thiết kế cửa hàng tài liệu

a) Tạo vận dụng mới

– Tên project: QuanLyBanHang

b) Tạo cơ sở dữ liệu


– Trong cửa sổ  Solution Explorer, nháy yêu cầu loài chuột lên tên vận dụng, lựa chọn Add ->New Item… Chọn Data -> Service-based Database (hoặc SQL Database vào Visual Studio Net 2005).

– Đặt thương hiệu các đại lý dữ liệu: Quanlybanhang.mdf

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Các yếu tắc bên trên form

Điều khiển Name TextBox txtMaHDBan, txtThang, txtNam, txtMaNhanVien, txtMaKhach, txtTongTien. DataGridView dgvTKHoaDon Button btnTimKiem, btnTimLai, btnDong Xem Video khuyên bảo

 

Chụ ý:

– Tất cả các khung (trừ frmMain), trực thuộc tính StartPostion = CenterParent, ShowInTaskbar = False

4. Xử lý sự kiện

4.1. Lớp Functions

– Chẹn những thủ tục cần sử dụng chung

– Trong form Solution Explorer, nháy đề nghị lên thương hiệu project, chọn Add -> New Folder, khắc tên tlỗi mục là Class

– Nháy nên tlỗi mục Class, nháy nên chọn Add -> Class, viết tên Functions.cs

– Trong class Functions:

+ Khai báo bổ sung những thỏng viện:

using System.Data; using System.Data.SqlClient; using System.Windows.Forms; // Sử dụng đối tượng người sử dụng MessageBox

+ Viết 2 phương thơm thức: Connect() với Disconnect()

namespace QuanLyBanHang.Class public static void Disconnect() } }

4.2. Form frmMain

a) Sự khiếu nại frmMain_Load private void frmMain_Load(object sender, EventArgs e) b) Sự kiện mnuThoat_Click private void mnuThoat_Click(object sender, EventArgs e) c) Hiển thị các form khác

Cú pháp:

= new (); //Khởi chế tạo ra đối tượng

.ShowDialog(); //Hiển thị bên dưới dạng vỏ hộp thoại

Hoặc .Show(); //Hiện thị dạng thông thường

+ Hiển thị size frmChatLieu

private void mnuChatLieu_Click(object sender, EventArgs e)

4.3. Form Chất liệu

a) Knhì báo

– Knhị báo

using System.Data.SqlClient; //Sử dụng tlỗi viện để triển khai Việc Squốc lộ hệ thống using QuanLyBanHang.Class; //Sử dụng class Functions.cs

– Knhị báo biến toàn cục

DataTable tblCL; //Chứa tài liệu bảng Chất liệu b) Sự khiếu nại frmDMChatLieu_Load private void frmDMChatLieu_Load(object sender, EventArgs e)

Trong đó, thủ tục LoadDataGridView tất cả công dụng lấy tài liệu trường đoản cú bảng tblChatLieu đổ vào DataGridView

c) Phương thức LoadDataGridView private void LoadDataGridView()

Với GetDataToTable được viết vào lớp Functions gồm tác dụng tiến hành câu lệnh Squốc lộ truy vấn tài liệu trường đoản cú CSDL đổ vào đối tượng người dùng bảng.

d) Phương thơm thức GetDataToTable

Mlàm việc hành lang cửa số lớp Class Functions viết mã lệnh nhỏng sau:

//Lấy tài liệu vào bảng public static DataTable GetDataToTable(string sql)

Hoặc rất có thể triển khai ngắn gọn gàng bằng cách gán tham số khi khai báo đối tượng người dùng nhỏng sau:

//Lấy dữ liệu vào bảng public static DataTable GetDataToTable(string sql) Xem Video khuyên bảo
e) Phương thức dgvChatLieu_Click

Phương thức này có chức năng mang văn bản chiếc tài liệu người tiêu dùng lựa chọn vào lưới DataGridView với hiển thị lên các điều khiển trên Form.

private void dgvChatLieu_Click(object sender, EventArgs e) if (tblCL.Rows.Count == 0) //Nếu không có dữ liệu txtMaChatLieu.Text = dgvChatLieu.CurrentRow.Cells<"MaChatLieu">.Value.ToString(); txtTenChatLieu.Text = dgvChatLieu.CurrentRow.Cells<"TenChatLieu">.Value.ToString(); btnSua.Enabled = true; btnXoa.Enabled = true; btnBoQua.Enabled = true; } f) Phương thơm thức btnThem_Click private void btnThem_Click(object sender, EventArgs e)

Với ResetValues là cách thức của size frmDMChatLieu gồm tác dụng xóa hết dữ liệu trong những điều khiển và tinh chỉnh bên trên Form.

g) Phương thơm thức ResetValues private void ResetValue() h) Pmùi hương thức btnLuu_Click

Phương thức này còn có tính năng khám nghiệm công bố người tiêu dùng nhtràn vào những điều khiển và tinh chỉnh trên Form trong trường hợp thêm new và lưu lại các biết tin đó vào DataBase.


private void btnLuu_Click(object sender, EventArgs e) if(txtTenChatLieu.Text.Trim().Length==0) //Nếu không nhập tên gia công bằng chất liệu sql = "Select MaChatLieu From tblChatLieu where MaChatLieu=N"" + txtMaChatLieu.Text.Trim() + """; if (Class.Functions.CheckKey(sql)) sql = "INSERT INTO tblChatLieu VALUES(N"" + txtMaChatLieu.Text + "",N"" + txtTenChatLieu.Text +"")"; Class.Functions.RunSQL(sql); //Thực hiện câu lệnh sql LoadDataGridView(); //Nạp lại DataGridView ResetValue(); btnXoa.Enabled = true; btnThem.Enabled = true; btnSua.Enabled = true; btnBoQua.Enabled = false; btnLuu.Enabled = false; txtMaChatLieu.Enabled = false; }

Với CheckKey cùng RunSQL là các cách làm được viết vào lớp Functions.

Xem thêm: Top Phần Mềm Ghi Âm Cuộc Gọi Cho Iphone Chưa Jailbreak, Top Phần Mềm Ghi Âm Cuộc Gọi Tự Động Cho Iphone

CheckKey bao gồm tính năng khám nghiệm khóa trùng, RunSQL bao gồm tác dụng triển khai các câu lệnh SQL.

i) Hàm CheckKey

Msinh sống cửa sổ lớp Class Functions viết mã lệnh:

//Hàm đánh giá khoá trùng public static bool CheckKey(string sql) j) Phương thức RunSQL

Mlàm việc cửa sổ lớp Class Functions viết mã lệnh nlỗi sau:

//Hàm triển khai câu lệnh Squốc lộ public static void RunSQL(string sql) catch (Exception ex) cmd.Dispose();//Giải pngóng bộ nhớ cmd = null; }

Chụ ý: Đối tượng SqlComm& bao gồm nhì cách làm nhằm xúc tiến câu lệnh SQL, trong đó:

ExecuteReader: thực thi câu lệnh Squốc lộ tất cả tài liệu trả về, ví dụ SELECT. ExecuteNoneQuery: triển khai những câu lệnh Squốc lộ không đề nghị trả về tập dữ liệu, ví dụ: INSERT, UPDATE, DELETE. k) Pmùi hương thức btnSua_Click

lúc người tiêu dùng nháy chuột vào một trong những mẫu bản ghi ngẫu nhiên bên trên lưới để hiển thị tài liệu của phiên bản ghi đó lên Form thì người dùng rất có thể sửa đổi các báo cáo kia.

Phương thức btnSua_Click gồm công dụng lưu giữ các thông tin người dùng vẫn sửa vào CSDL.

private void btnSua_Click(object sender, EventArgs e) if (txtMaChatLieu.Text == "") //trường hợp chưa lựa chọn bạn dạng ghi làm sao if (txtTenChatLieu.Text.Trim().Length==0) //nếu không nhập thương hiệu gia công bằng chất liệu sql = "UPDATE tblChatLieu SET TenChatLieu=N"" + txtTenChatLieu.Text.ToString() + "" WHERE MaChatLieu=N"" + txtMaChatLieu.Text + """; Class.Functions.RunSQL(sql); LoadDataGridView(); ResetValue(); btnBoQua.Enabled = false; } l) Phương thức btnXoa_Click private void btnXoa_Click(object sender, EventArgs e) if (txtMaChatLieu.Text == "") //nếu chưa lựa chọn bạn dạng ghi nào if (MessageBox.Show("Quý khách hàng vẫn muốn xoá không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxInhỏ.Question) == DialogResult.Yes) } m) Phương thức RunSQLDel

Phương thức RunSQLDel tương tự như RunSquốc lộ cơ mà vào trường phù hợp xóa dữ liệu ví như dữ liệu đang được cần sử dụng vày một đối tượng người sử dụng khác thì ko được phnghiền xóa.

Msinh hoạt cửa sổ lớp Class Functions viết mã lệnh như sau:

public static void RunSqlDel(string sql) catch (Exception ex) cmd.Dispose(); cmd = null; } n) Phương thơm thức btnBoQua_Click

Phương thức này được Gọi Khi người dùng ý muốn bỏ quăng quật các tác dụng Thêm mới hoặc Sửa tài liệu.

private void btnBoQua_Click(object sender, EventArgs e) o) Phương thơm thức sử dụng phím Enter gắng cho phím Tab private void txtMaChatLieu_KeyUp(object sender, KeyEventArgs e) "); }

Thực hiện tại tương tự cho txtTenChatLieu_KeyUp p) Pmùi hương thức btnDong_Click

private void btnDong_Click(object sender, EventArgs e) Xem Clip trả lời phần trên

4.4. Form Danh mục Nhân viên

a) Knhì báo

– Tlỗi viện:

using System.Data; using System.Data.SqlClient; using QuanLyBanHang.Class;

– Biến:

DataTable tblNV; //Lưu tài liệu bảng nhân viên b) Phương thơm thức frmDMNhanvien_Load private void frmDMNhanvien_Load(object sender, EventArgs e) c) Phương thơm thức LoadDataGridView – Hiển thị dữ liệu lên lưới public void LoadDataGridView() d) Phương thức dgvNhanVien_Click private void dgvNhanVien_Click(object sender, EventArgs e) if (tblNV.Rows.Count == 0) txtMaNhanVien.Text = dgvNhanVien.CurrentRow.Cells<"MaNhanVien">.Value.ToString(); txtTenNhanVien.Text = dgvNhanVien.CurrentRow.Cells<"TenNhanVien">.Value.ToString(); if (dgvNhanVien.CurrentRow.Cells<"GioiTinh">.Value.ToString() == "Nam") chkGioiTinch.Checked = true; else chkGioiTinh.Checked = false; txtDiaChi.Text = dgvNhanVien.CurrentRow.Cells<"DiaChi">.Value.ToString(); mtbDienThoai vệ.Text = dgvNhanVien.CurrentRow.Cells<"DienThoai">.Value.ToString(); mskNgaySinh.Text = dgvNhanVien.CurrentRow.Cells<"NgaySinh">.Value.ToString(); btnSua.Enabled = true; btnXoa.Enabled = true; btnXoa.Enabled = true; } e) Phương thơm thức btnThem_Click private void btnThem_Click(object sender, EventArgs e) f) Pmùi hương thức ResetValues private void ResetValues() g) Phương thức btnLuu_Click private void btnLuu_Click(object sender, EventArgs e) if (txtTenNhanVien.Text.Trim().Length == 0) if (txtDiaChi.Text.Trim().Length == 0) if (mtbDienThoách.Text == "( ) -") if (mskNgaySinc.Text == " / /") if (!Functions.IsDate(mskNgaySinc.Text)) if (chkGioiTinh.Checked == true) gt = "Nam"; else gt = "Nữ"; sql = "SELECT MaNhanVien FROM tblNhanVien WHERE MaNhanVien=N"" + txtMaNhanVien.Text.Trim() + """; if (Functions.CheckKey(sql)) sql = "INSERT INTO tblNhanVien(MaNhanVien,TenNhanVien,GioiTinch, DiaChi,DienThoai phong, NgaySinh) VALUES (N"" + txtMaNhanVien.Text.Trim() + "",N"" + txtTenNhanVien.Text.Trim() + "",N"" + gt + "",N"" + txtDiaChi.Text.Trim() + "","" + mtbDienThoai nghiêm.Text + "","" + Functions.ConvertDateTime(mskNgaySinh.Text) + "")"; Functions.RunSQL(sql); LoadDataGridView(); ResetValues(); btnXoa.Enabled = true; btnThem.Enabled = true; btnSua.Enabled = true; btnBoQua.Enabled = false; btnLuu.Enabled = false; txtMaNhanVien.Enabled = false; }

Với IsDateConvertDateTime là các hàm được viết vào lớp Functions

IsDate có chức năng khám nghiệm một trở nên tất cả nghỉ ngơi dạng ngày tháng không, ConvertDateTime có tác dụng thay đổi một chuỗi tháng ngày do người tiêu dùng nhập gồm dạng dd/mm/yyyy thành chuỗi tháng ngày có dạng mm/dd/yyyy để giữ vào CSDL.

h) Hàm IsDate

Soạn thảo trong lớp Functions:

public static bool IsDate(string date) i) Hàm ConvertDateTime

Soạn thảo hàm trong lớp Functions:

public static string ConvertDateTime(string date) //", elements<0>, elements<1>, elements<2>); return dt; } j) Phương thơm thức btnSua_Click private void btnSua_Click(object sender, EventArgs e) if (txtMaNhanVien.Text == "") if (txtTenNhanVien.Text.Trim().Length == 0) if (txtDiaChi.Text.Trim().Length == 0) if (mtbDienThoách.Text == "( ) -") if (mskNgaySinh.Text == " / /") if (!Functions.IsDate(mskNgaySinc.Text)) if (chkGioiTinch.Checked == true) gt = "Nam"; else gt = "Nữ"; sql = "UPDATE tblNhanVien SET TenNhanVien=N"" +txtTenNhanVien.Text.Trim().ToString() + "",DiaChi=N"" + txtDiaChi.Text.Trim().ToString() + "",DienThoai="" + mtbDienThoai vệ.Text.ToString() + "",GioiTinh=N"" + gt + "",NgaySinh="" + Functions.ConvertDateTime(mskNgaySinc.Text) + "" WHERE MaNhanVien=N"" + txtMaNhanVien.Text + """; Functions.RunSQL(sql); LoadDataGridView(); ResetValues(); btnBoQua.Enabled = false; } k) Pmùi hương thức btnXoa_Click private void btnXoa_Click(object sender, EventArgs e) if (txtMaNhanVien.Text == "") if (MessageBox.Show("Quý Khách có muốn xóa không?", "Thông báo",MessageBoxButtons.OKCancel, MessageBoxInhỏ.Question) == DialogResult.OK) } l) Pmùi hương thức btnBoQua_Click private void btnBoQua_Click(object sender, EventArgs e)

m) Pmùi hương thức dùng phím Enter vắt mang đến phím Tab

private void txtMaNhanVien_KeyUp(object sender, KeyEventArgs e) "); }

Thực hiện nay tương tự như cho txtTenNhanVien.KeyUp, txtDiaChi.KeyUp, mtbDienThoai.KeyUp, mskNgaySinc.KeyUp.

n) Phương thức btnDong_Click private void btnDong_Click(object sender, EventArgs e) Xem video clip lý giải cụ thể

Chuyên mục: Phần Mềm