Câu 05:
a) (Form1 – Menu Danh mөc)
* Yêu cҫu: Trên Form1, viӃt lӋnh cho menu danh mөFQKѭVDX
- ViӃt hàm XemDanhMuc(int intDanhMuc) thӵc hiӋn mӣ Form3 và gánForm3.Text = intDanhMuc.
- Khi chӑn menu “Xem Danh mөc \ <int>” sӁ thӵc hiӋn gӑi hàm XemDanhMuc(<int>), vӟi <int> là giá trӏ WѭѫQJӭng vӟi danh mөFÿѭӧc chӑn.
+ѭӟng dүn:
- ӠPӭFFODVV, khai báo hàm XemDanhMucLQWLQW'DQK0XFQKѭVDX
// Hàm xemm danh mӧF
void XemDanhMuc(int intDanhMuc)
{
Form frm = new Form3();
frm.Text = intDanhMuc.ToString(); frm.ShowDialog();
}
- Menu “Xem Danh mөc \ Danh mөc Thành Phӕ”: NhҳSÿ~SYjRPHQX³;HP'DQK
mөc \ Danh mөc Thành Phӕ”, gõ vào ÿRҥn code sau: XemDanhMuc(1);
- Menu “Xem Danh mөc \ Danh mөc Khách Hàng”: NhҳSÿ~SYjRPHQX³;HP'DQK
mөc \ Danh mөc Khách Hàng”, gõ vào ÿRҥn code sau: XemDanhMuc(2);
- Menu “Xem Danh mөc \ Danh mөc Nhân Viên”: NhҳSÿ~SYjRPHQX³;HP'DQK
mөc \ Danh mөc Nhân Viên”, gõ vào ÿRҥn code sau: XemDanhMuc(3);
- Menu “Xem Danh mөc \ Danh mөc Sҧn Phҭm”: NhҳSÿ~SYjo menu “Xem Danh
mөc \ Danh mөc Sҧn Phҭm”, gõ vào ÿRҥn code sau: XemDanhMuc(4);
LѭXKjQKQӝi bӝ Trang 89 - Menu “Xem Danh mөc \ Danh mөF+yDĈѫQ´: NhҳSÿ~SYjRPHQX³;HP'DQKPөc
\ Danh mөF+yDĈѫQ´Jõ vào ÿRҥn code sau: XemDanhMuc(5);
- Menu “Xem Danh mөc \ Danh mөc Chi TiӃt HyDĈѫQ´: NhҳSÿ~SYjRPHQX³;HP
Danh mөc \ Danh mөc Chi TiӃW+yDĈѫQ´Jõ vào ÿRҥn code sau: XemDanhMuc(6);
b) (Form3) ThiӃt kӃ Form3 theo mүXQKѭVDX
(lblDanhMuc, dgvDANHMUC, btnTroVe) * Yêu cҫu: Trên Form3
- .KL )RUP ÿѭӧc load sӁ hiӇn thӏ WrQ WDEOH ÿѭӧc chӑn) lên Label lblDanhMuc và nӝi dung cӫa table này lên DataGridView dgvDANHMUC.
- Khi nhҳp vào button Trӣ VӅ sӁ ÿyQJ)RUP
+ѭӟng dүn:
- Khai báo namespace sӱ dөng:
using System.Data.SqlClient;
- ӠPӭFFODVVNKDLEiRQKѭVDX
// ChuәLNӁWQӓL
string strConnectionString = "Data Source=PC-PC;Initial
Catalog=QuanLyBanHang;Integrated Security=True"; ĈӓLWѬӥQJNӁWQӓL
SqlConnection conn = null;
ĈӓLWѬӥQJÿѬDGӱOLӉXYào DataTable dtTable
SqlDataAdapter daTable = null;
// ĈӓLWѬӥQJKLӅQWKӍGӱ liӉXOên Form
DataTable dtTable = null; - Form Load
try
{
// KhӡLÿӛQJFRQQHFWLRQ
conn = new SqlConnection(strConnectionString);
// XӯOêGDQKPӧF
int intDM = Convert.ToInt32(this.Text);
LѭXKjQKQӝi bӝ Trang 90 {
case 1:
lblDM.Text = "Danh MӧF7Kành Phӓ;
daTable = new SqlDataAdapter("SELECT
ThanhPho, TenThanhPho FROM THANHPHO", conn);
break;
case 2:
lblDM.Text = "Danh MӧF.KiFK+àng";
daTable = new SqlDataAdapter("SELECT MaKH,
TenCTy FROM KHACHHANG", conn);
break;
case 3:
lblDM.Text = "Danh MӧF1KkQ9Lên";
daTable = new SqlDataAdapter("SELECT MaNV,
Ho, Ten FROM NHANVIEN", conn);
break;
case 4:
lblDM.Text = "Danh MӧF6ҥQ3KҫP;
daTable = new SqlDataAdapter("SELECT MaSP,
TenSP, DonViTinh, DonGia FROM SANPHAM", conn);
break;
case 5:
lblDM.Text = "Danh MӧF+yDĈѪQ;
daTable = new SqlDataAdapter("SELECT MaHD,
MaKH, MaNV FROM HOADON", conn);
break;
case 6:
lblDM.Text = "Danh MӧF&KL7LӁW+yDĈѪQ;
daTable = new SqlDataAdapter("SELECT *
FROM CHITIETHOADON", conn);
break;
default:
break; }
// VүQFKX\ӅQGӱOLӉXOên DataTable dtTable
dtTable = new DataTable();
dtTable.Clear(); daTable.Fill(dtTable); // ĈѬDGӱOLӉXOrQ'DWD*ULG9LHZ dgvDANHMUC.DataSource = dtTable; 7KD\ÿӗLÿӛUӛQJFӛW dgvDANHMUC.AutoResizeColumns(); } catch (SqlException) {
MessageBox.Show(".K{QJOҧ\ÿѬӥFQӛLGXQJWURQJ table. /әLUӕL!!!");
LѭXKjQKQӝi bӝ Trang 91 }
}
- Trӣ VӅ: NhҳSÿ~SYjREXWWRQ7Uӣ VӅWKrPYjRÿRҥn code sau
this.Close();
Câu 06: (Form4 – Menu Quҧn lý danh mөFÿѫQ\ Danh mөc Thành Phӕ )
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөFÿѫQ \ Danh mөc Thành Phӕ” sӁ mӣ
Form4.
- Trên Form4: ThiӃt kӃ QKѭVDX
(panel, txtThanhPho, txtTenThanhPho, dgvTHANHPHO, btnReLoad, btnThem, btnSua, btnXoa, btnLuu, btnHuyBo, btnTroVe)
+ѭӟng dүn:
a) (Form1 – Menu Quҧn lý danh mөFÿѫQ)
- Menu “Quҧn lý danh mөFÿѫQ \ Danh mөc Thành Phӕ”: NhҳSÿ~SYjRPHQX³4Xҧn
lý danh mөFÿѫQ\ Danh mөc Thành Phӕ”, gõ vào ÿRҥn code sau:
Form frm = new Form4();
frm.Text = "QuҥQOê'DQKPӧF7Kành Phӓ;
frm.ShowDialog();
b) (Form4) ThiӃt kӃ )RUPQKѭPүu
- Khai báo namespace sӱ dөng:
using System.Data.SqlClient;
- ӠPӭFFODVVNKDLEiRQKѭVDX
// ChuәLNӁWQӓL
string strConnectionString = "Data Source=PC-PC;Initial
Catalog=QuanLyBanHang;Integrated Security=True";
ĈӓLWѬӥQJNӁWnӓL
LѭXKjQKQӝi bӝ Trang 92
ĈӓLWѬӥQJÿѬDGӱOLӉXYào DataTable dtThanhPho
SqlDataAdapter daThanhPho = null;
// ĈӓLWѬӥQJKLӅQWKӍGӱOLӉXOrQ)RUP
DataTable dtThanhPho = null;
// Khai báo biӁQNLӅPWUDYLӉF7Kêm hay SӯDGӱOLӉX
bool Them; void LoadData() { try { // KhӡLÿӛQJFRQQHFWLRQ
conn = new SqlConnection(strConnectionString);
// VүQFKX\ӅQGӱOLӉXOên DataTable dtThanhPho
daThanhPho = new SqlDataAdapter("SELECT * FROM
THANHPHO", conn);
dtThanhPho = new DataTable();
dtThanhPho.Clear(); daThanhPho.Fill(dtThanhPho); // ĈѬDGӱOLӉXOrQ'DWD*ULG9LHZ dgvTHANHPHO.DataSource = dtThanhPho; 7KD\ÿӗLÿӛUӛQJFӛW dgvTHANHPHO.AutoResizeColumns(); // Xóa trӓQJFiFÿӓLWѬӥQJWURQJ3DQHO this.txtThanhPho.ResetText(); this.txtTenThanhPho.ResetText(); .K{QJFKRWKDRWiFWUrQFiFQ~W/ѬX+ө\
this.btnLuu.Enabled = false;
this.btnHuyBo.Enabled = false;
this.panel.Enabled = false;
// Cho thao tác trên các nút Thêm / SӯD;yD
Thoát
this.btnThem.Enabled = true;
this.btnSua.Enabled = true;
this.btnXoa.Enabled = true;
this.btnTroVe.Enabled = true;
}
catch (SqlException)
{
MessageBox.Show(".K{QJOҧ\ÿѬӥFQӛLGXQJWURQJ table THANHPHO. /әLUӕL!!!");
} }
- Form Load:
LoadData(); - FormClosing:
// GiҥLSKyQJWài nguyên
dtThanhPho.Dispose();
LѭXKjQKQӝi bӝ Trang 93
// Hө\NӁWQӓL
conn = null;
- ReLoad: NhҳSÿ~SYjREXWWRQ5H/RDGWKrPYjRÿRҥn code sau
LoadData();
- Trӣ VӅ: NhҳSÿ~SYjREXWWRQ7Uӣ VӅWKrPYjRÿRҥn code sau
this.Close();
- Thêm: NhҳSÿ~SYjREXWWRQ7KrPWKrPYjRÿRҥn code sau
// Kich hoңWELӁQ7KHP Them = true; // Xóa trӓQJFiFÿӓLWѬӥQJWURQJ3DQHO this.txtThanhPho.ResetText(); this.txtTenThanhPho.ResetText(); &KRWKDRWiFWUrQFiFQ~W/ѬX+ө\3DQHO
this.btnLuu.Enabled = true;
this.btnHuyBo.Enabled = true;
this.panel.Enabled = true;
// Không cho thao tác trên các nút Thêm / Xóa / Thoát
this.btnThem.Enabled = false;
this.btnSua.Enabled = false;
this.btnXoa.Enabled = false;
this.btnTroVe.Enabled = false;
ĈѬDFRQWUӑÿӁQ7H[W)LHOGW[W7KDQK3KR
this.txtThanhPho.Focus();
- Sӱa: NhҳSÿ~SYjREXWWRQ6ӱDWKrPYjRÿRҥn code sau
// Kích hoңWELӁQ6ӯD
Them = false;
// Cho phép thao tác trên Panel
this.panel.Enabled = true;
// 7KӫWӳGzQJKLӉQKjQK
int r = dgvTHANHPHO.CurrentCell.RowIndex;
// ChuyӅQWK{QJWLQOên panel
this.txtThanhPho.Text =
dgvTHANHPHO.Rows[r].Cells[0].Value.ToString();
this.txtTenThanhPho.Text =
dgvTHANHPHO.Rows[r].Cells[1].Value.ToString(); &KRWKDRWiFWUrQFiFQ~W/ѬX+ө\3DQHO
this.btnLuu.Enabled = true;
this.btnHuyBo.Enabled = true;
this.panel.Enabled = true;
// Không cho thao tác trên các nút Thêm / Xóa / Thoát
this.btnThem.Enabled = false;
this.btnSua.Enabled = false;
this.btnXoa.Enabled = false;
this.btnTroVe.Enabled = false;
ĈѬDFRQWUӑÿӁQ7H[W)LHOGW[W0D.+
this.txtThanhPho.Focus();
- Xóa: NhҳSÿ~SYjREXWWRQ;yDWKrPYjRÿRҥn code sau
// 0ӡNӁWQӓL
LѭXKjQKQӝi bӝ Trang 94
try
{
// 7KӳFKLӉQOӉQK
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
// /ҧ\WKӫWӳUHFRUGKLӉQKjQK int r = dgvTHANHPHO.CurrentCell.RowIndex; // /ҧ\0D.+FөDUHFRUGKLӉQKjQK string strTHANHPHO = dgvTHANHPHO.Rows[r].Cells[0].Value.ToString(); // ViӁWFkXOӉQK64/
cmd.CommandText = System.String.Concat("Delete From
ThanhPho Where ThanhPho='" + strTHANHPHO + "'");
cmd.CommandType = CommandType.Text;
// ThӳFKLӉQFkXOӉQK64/ cmd.ExecuteNonQuery();
// CүSQKүWOңL'DWD*ULG9LHZ
LoadData();
// Thông báo
MessageBox.Show("Ĉm[yD[RQJ!"); } catch (SqlException) { MessageBox.Show(.K{QJ[yDÿѬӥF/әLUӕL); } ĈyQJNӁWQӓL conn.Close();
- Hӫy Bӓ: NhҳSÿ~SYjREXWWRQ+ӫy BӓWKrPYjRÿRҥn code sau
// Xóa trӓQJFiFÿӓLWѬӥQJWURQJ3DQHO
this.txtThanhPho.ResetText();
this.txtTenThanhPho.ResetText();
// Cho thao tác trên các nút Thêm / SӯD;yD7KRiW
this.btnThem.Enabled = true;
this.btnSua.Enabled = true;
this.btnXoa.Enabled = true;
this.btnTroVe.Enabled = true;
.K{QJFKRWKDRWiFWUrQFiFQ~W/ѬX+ө\3DQHO
this.btnLuu.Enabled = false;
this.btnHuyBo.Enabled = false;
this.panel.Enabled = false;
- /ѭX: NhҳSÿ~SYjREXWWRQ/ѭXWKrPYjRÿRҥn code sau
// 0ӡNӁWQӓL conn.Open(); // Thêm dӱOLӉX if (Them) { try {
LѭXKjQKQӝi bӝ Trang 95
// 7KӳFKLӉQOӉQK
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
// LӉQK,QVHUW,Q7R
cmd.CommandText = System.String.Concat("Insert
Into ThanhPho Values(" + "'" +
this.txtThanhPho.Text.ToString() + "','" +
this.txtTenThanhPho.Text.ToString() + "')");
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
// Load lңLGӱOLӉXWUên DataGridView
LoadData(); // Thông báo MessageBox.Show("ĈmWKrP[RQJ!"); } catch (SqlException) {
MessageBox.Show(.K{QJWKrPÿѬӥF/әLUӕL); }
}
if (!Them)
{
// 7KӳFKLӉQOӉQK
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
// 7KӫWӳGzQJKLӉQKjQK int r = dgvTHANHPHO.CurrentCell.RowIndex; // MaKH hiӉQKành string strTHANHPHO = dgvTHANHPHO.Rows[r].Cells[0].Value.ToString(); // Câu lӉQK64/
cmd.CommandText = System.String.Concat("Update
ThanhPho Set TenThanhPho='" +
this.txtTenThanhPho.Text.ToString() + "' Where
ThanhPho='" + strTHANHPHO + "'");
// CүSQKүW
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
// Load lңLGӱOLӉXWUên DataGridView
LoadData(); // Thông báo MessageBox.Show("ĈmVӯD[RQJ!"); } // ĈyQJ NӁWQӓL conn.Close();
LѭXKjQKQӝi bӝ Trang 96 * Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөFÿѫQ\ Danh mөc Khách Hàng” sӁ mӣ
Form5.
- Trên Form5: thiӃt kӃ QKѭVDX
Câu 08: (Form6 – Menu Quҧn lý danh mөFÿѫQ\ Danh mөc Nhân Viên)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөFÿѫQ\ Danh mөc Nhân Viên” sӁ mӣ
Form6.
- Trên Form6: thiӃt kӃ QKѭVDX
Câu 09: (Form7 – Menu Quҧn lý danh mөFÿѫQ\ Danh mөc Sҧn Phҭm)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөF ÿѫQ \ Danh mөc Sҧn Phҭm” sӁ mӣ
Form7.
LѭXKjQKQӝi bӝ Trang 97
Câu 10: (Form8 – Menu Quҧn lý danh mөFÿѫQ\ Danh mөF+yDĈѫQ)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөF ÿѫQ \ Danh mөF +yD ĈѫQ´ sӁ mӣ
Form8.
- Trên Form8: thiӃt kӃ QKѭVDX
Câu 11: (Form9 – Menu Quҧn lý danh mөFÿѫQ\ Danh mөc Chi TiӃW+yDĈѫQ)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөFÿѫQ\ Danh mөc Chi TiӃW+yDĈѫQ´ sӁ
LѭXKjQKQӝi bӝ Trang 98 - Trên Form9: thiӃt kӃ QKѭVDX
Câu 11: (Form10 – Menu Quҧn lý danh mөc theo nhóm \ Khách hàng theo thành phӕ)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөc theo nhóm \ Khách hàng theo Thành
Phӕ” sӁ mӣ Form10.
- Trên Form10: thiӃt kӃ QKѭVDX
Câu 12: (Form11 – Menu Quҧn lý danh mөc theo nhóm \ +yDÿѫQWKHR.KiFKKjQJ)
LѭXKjQKQӝi bӝ Trang 99 - Trên Form1: khi chӑn menu “Quҧn lý danh mөc theo nhóm \ +yD ÿѫQ WKHR .KiFK
hàng” sӁ mӣ Form11.
- Trên Form11: thiӃt kӃ QKѭVDX
Câu 13: (Form12 – Menu Quҧn lý danh mөc theo nhóm \ +yDÿѫQWKHR6ҧn phҭm)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөc theo nhóm \ +yDÿѫQWKHR6ҧn phҭm”
sӁ mӣ Form12.
- Trên Form12: thiӃt kӃ QKѭVDX à tӵ thӵc hiӋn
Câu 14: (Form13 – Menu Quҧn lý danh mөc theo nhóm \ +yDÿѫQWKHR1KkQYLrQ)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөc theo nhóm \ +yDÿѫQWKHR1KkQYLrQ´
sӁ mӣ Form13.
- Trên Form13: thiӃt kӃ QKѭVDX à tӵ thӵc hiӋn
Câu 15: (Form14 – Menu Quҧn lý danh mөc theo nhóm \ Chi tiӃW KyD ÿѫQ WKHR +yD ÿѫQ)
* Yêu cҫu:
- Trên Form1: khi chӑn menu “Quҧn lý danh mөc theo nhóm \ Chi tiӃWKyDÿѫQWKHR+yD ÿѫQ´ sӁ mӣ Form14.
- Trên Form14: thiӃt kӃ QKѭVDX à tӵ thӵc hiӋn
Câu 16: (Form15 – Menu Quҧn lý danh mөc theo nhóm \ ĈDFҩp)
* Yêu cҫu:
- Trên Form1: b͝ sung menu “Quҧn lý danh mөc theo nhóm \ QuҧQOêĈDFҩp”, và khi
chӑn sӁ mӣ Form15.
LѭXKjQKQӝi bӝ Trang 100 -- HӃt --