Professional Documents
Culture Documents
1.1 Danhschccyucu
STT 1 2 3 4 5 Tn yu cu Lp phiu nhp sch Lp ha n bn sch Tra cu sch Lp bo co thng Thay i qui nh Biu mu BM1 BM2 BM3 BM5 Q6 Qui nh Q1 Q2 Ghi ch
1.2 Danhschccbiumuvquinh
1.2.1 Biumu1vquinh1
BM1: STT 1 2 Sch Th loi Phiu Nhp Sch Ngy nhp: ..................................... Tc gi S lng n gi nhp
1.2.2 Biumu2vquinh2
BM2: STT 1 2 Sch Ha n Bn Sch Ngy lp ha n: ................................ S lng n gi bn Th loi H tn khch hng: ..............................
Q2: Ch bn cho cc khch hng n khng qu 20.000 v u sch c lng tn sau khi bn t nht l 20.
1.2.3 Biumu3
BM3: STT 1 2 Tn Sch Danh Sch Sch Th Loi Tc Gi S Lng
1.2.4 Biumu5
Biu mu 5.1 BM5.1:
STT 1 2 Sch Bo Co Tn Thng: ......................................... Tn u Pht Sinh Tn Cui
1.2.5 Quinh6
Q6: Ngi dng c th thay i cc qui nh nh sau : + Q1 : Thay i s lng nhp ti thiu, lng tn ti thiu trc khi nhp. + Q2 : Thay i tin n ti a, lng tn ti thiu sau khi bn . + Q4 : S dng hay khng s dng qui nh ny.
2 XydnglpgiaotipCSDL
2.1 Chc nng
Lp Database m nhim vic giao tip vi c s d liu cho ton ng dng. Tt c vic tng tc vi CSDL d liu din ra bt c ni no trong ng dng u c thc hin thng qua lp ny.
2.2 Mc ch
S d chng ta phi xy dng lp ny l nhm mang li tnh d bo tr cng nh tnh tin ha cho h thng. Nu sau ny cn thay i mi trng ng dng (sang Oracle, Access, Db2 ...) th chng ta ch vic chnh sa lp Database ny m khng cn quan tm n phn cn li ca ng dng.
2.3 Lp Database
2.3.1 LpDatabase Thuc tnh o Sqlconn : SqlConnection Phng thc o New : Hm to (Constructor) o Execute : Thc thi mt cu lnh truy vn v tr v kt qu l mt DataTable dng cho cc cu lnh Select * from ... o ExecuteNonQuery : Thc thi mt cu lnh truy vn khng quan tm n kt qu tr v. Dng cho cc cu lnh Insert, Delete, Update ... o ExecuteScalar : Thc thi 1 cu lnh truy vn tr v 1 gi tr duy nht
2.3.2 Mngun
C# using using using using using using
namespace QLNS { class Database { //Thuoc tinh protected string m_connectionString; protected OleDbConnection connection; protected OleDbDataAdapter da = null; protected OleDbCommand command; //Phuong thuc public Database() { m_connectionString = "Provider = Microsoft.Jet.OleDb.4.0; Data Source=QLNS.mdb"; } //Ket noi public void connect() { try { connection = new OleDbConnection(ConnectionString); connection.Open(); } catch (Exception ex) { MessageBox.Show("Khng th kt ni c vi Server\n" + ex.Message, "Li chng trnh"); //Application.Exit(); } } //Tat ket noi public void disconnect() { try { connection.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message);
} } //Lay ra du lieu ra table public DataTable executeQuery(String sqlString) { connect(); DataSet ds = new DataSet(); da = new OleDbDataAdapter(sqlString, connection); da.Fill(ds); disconnect(); return ds.Tables[0]; } //Dung cho cac thao tac insert, delete, update public void executeNonQuery(string sqlString) { connect(); command = new OleDbCommand(sqlString, connection); command.ExecuteNonQuery(); disconnect(); } //Lay 1 gia tri du lieu ra public object executeScalar(string sqlString) { connect(); command = new OleDbCommand(sqlString, connection); object o = command.ExecuteScalar(); disconnect(); return o; } public string ConnectionString { get { return m_connectionString; } set { m_connectionString = value; } } } }
Menu Danh Mc
Qun l ngi dng Thay i qui nh Thot Danh mc sch Danh mc tc gi Danh mc th loi Danh mc khch hng Lp phiu nhp sch Lp phiu bn sch Lp bo co thng
Xy dng lp TheLoai
class TheLoai { private int m_maTheLoai; public int MaTheLoai { get { return m_maTheLoai; } set { m_maTheLoai = value; } } private string m_tenTheLoai; public string TenTheLoai { get { return m_tenTheLoai; } set { m_tenTheLoai = value; } } public static DataTable LayDanhSachTheLoai() { string sql; sql = "Select MaTheLoai, TenTheLoai From TheLoai "; Database db = new Database(); DataTable dt; dt = db.executeQuery(sql); } return dt;
public void ThemTheLoaiSach() { string sql; sql = "Insert into TheLoai(TenTheLoai) values ("; sql += "'" + m_tenTheLoai + "')"; Database db = new Database(); db.executeNonQuery(sql); } public void XoaTheLoaiSach() { string sql; sql = "Delete From TheLoai Where maTheLoai = " + m_maTheLoai.ToString(); Database db = new Database(); db.executeNonQuery(sql); } public void CapNhatTheLoaiSach() { string sql; sql = "Update TheLoai Set TenTheLoai='" + m_tenTheLoai + "'"; sql += " Where MaTheLoai = " + m_maTheLoai.ToString(); Database db = new Database();
db.executeNonQuery(sql); } public void LayThongTinTheLoaiSach(int maTheLoai) { string sql; DataTable dt = new DataTable(); sql = "Select * From TheLoai Where MaTheLoai = " + maTheLoai.ToString(); Database db = new Database(); dt = db.executeQuery(sql); if (dt != null && dt.Rows.Count > 0) { m_maTheLoai = Convert.ToInt32(dt.Rows[0]["MaTheLoai"]); m_tenTheLoai = Convert.ToString(dt.Rows[0]["TenTheLoai"]); } } }
Cc hm x l ca TheLoaiSach_Form
TheLoaiSach_Form_Load
private void frmDanhMucTheLoai_Load(object sender, EventArgs e) { HienThiDanhSachTheLoaiSach(); } private void HienThiDanhSachTheLoaiSach() { dgvTheLoaiSach.DataSource = TheLoai.LayDanhSachTheLoai(); SoanLai(); } private void SoanLai() { txtTenTheLoai.Text = ""; }
Khi ngi dng bm vo 1 hng th hin th thng tin chi tit ca th loi sch ta dng s kin SelectionChanged ca dgvTheLoaiSach
private void dgvTheLoaiSach_SelectionChanged(object sender, EventArgs e) { if (dgvTheLoaiSach.SelectedRows.Count > 0) { int maTheLoai =
Convert.ToInt32(dgvTheLoaiSach.SelectedRows[0].Cells[0].Value); TheLoai tl = new TheLoai(); tl.LayThongTinTheLoaiSach(maTheLoai); //nap thong tin theloai len cac control tren form txtTenTheLoai.Text = tl.TenTheLoai;
} }
dgvcbTheLoai.ValueMember = "MaTheLoai"; // load du lieu cho combobox dgvcbTacGia tren datagridview dgvcbTacGia.DataSource = TacGia.LayDanhSachTacGia(); dgvcbTacGia.DisplayMember = "TenTacGia"; dgvcbTacGia.ValueMember = "MaTacGia"; // load du lieu cho combobox cbTheLoai cbTheLoai.DataSource = TheLoai.LayDanhSachTheLoai(); cbTheLoai.DisplayMember = "TenTheLoai"; cbTheLoai.ValueMember = "MaTheLoai"; // load du lieu cho combobox cbTacGia cbTacGia.DataSource = TacGia.LayDanhSachTacGia(); cbTacGia.DisplayMember = "TenTacGia"; cbTacGia.ValueMember = "MaTacGia"; HienThiDanhSachSach(); }
string sql; sql = "Select MaSach, MaTheLoai, MaTacGia, TenSach, GiaBan, SoLuongTon From Sach "; sql += " where TenSach like '%" + tenSach + "%'"; Database db = new Database(); DataTable dt; dt = db.executeQuery(sql); } return dt;
sql = "Insert into HoaDon(MaHoaDon, MaKhachHang, NgayLap) values ("; sql += m_maHoaDon.ToString() + ","; sql += m_maKhachHang.ToString() + ","; sql += "'" + m_ngayLap + "')"; db.executeNonQuery(sql);
DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0 && e.RowIndex >= 0) { int maSach = Convert.ToInt32(dgvChiTietHoaDon.Rows[e.RowIndex].Cells[0].Value); Sach s = new Sach(); s.LayThongTinSach(maSach); dgvChiTietHoaDon.Rows[e.RowIndex].Cells[1].Value = s.MaTheLoai; dgvChiTietHoaDon.Rows[e.RowIndex].Cells[2].Value = s.GiaBan; dgvChiTietHoaDon.Rows[e.RowIndex].Cells[3].Value = 0; } }
Lu ha n
private void btnLuu_Click(object sender, EventArgs e) { // Them hoa don HoaDon hd = new HoaDon(); hd.MaKhachHang = Convert.ToInt32(cbKhachHang.SelectedValue); hd.NgayLap = dtpNgayLap.Value; hd.ThemHoaDon(); // Them chi tiet hoa don for (int i=0; i<dgvChiTietHoaDon.RowCount; i++) { ChiTietHoaDon cthd = new ChiTietHoaDon(); cthd.MaHoaDon = hd.MaHoaDon; cthd.MaChiTietHoaDon = i + 1; cthd.MaSach = Convert.ToInt32(dgvChiTietHoaDon.Rows[i].Cells[0].Value); cthd.SoLuong = Convert.ToInt32(dgvChiTietHoaDon.Rows[i].Cells[3].Value); cthd.DonGiaBan = Convert.ToInt32(dgvChiTietHoaDon.Rows[i].Cells[2].Value); cthd.ThemChiTietHoaDon(); // Cap nhat so luong ton Sach s = new Sach(); s.MaSach = cthd.MaSach; s.CapNhatSoLuongTon(-cthd.SoLuong); } MessageBox.Show("Thm th loi mi thnh cng", "Qun l nh sch"); }
7 Xydngchc nngbocothngk
Xydng bo co s lng sch bn trong thng
Database File
Nhp cu truy vn
Cc hm x l
private void frmBaoCaoThang_Load(object sender, EventArgs e) { for (int thang = 1; thang <= 12; thang++) { cbThang.Items.Add(thang); } cbThang.SelectedIndex = 0; for (int nam = DateTime.Now.Year; nam >= DateTime.Now.Year - 3; nam--) { cbNam.Items.Add(nam); } } private void btnLapBaoCao_Click(object sender, EventArgs e) { // tao report document crBaoCaoThang cr = new crBaoCaoThang(); int thang = Convert.ToInt32(cbThang.Text); int nam = Convert.ToInt32(cbNam.Text); DataTable dt = BaoCao.LapBaoCaoThang(thang,nam); cr.SetDataSource(dt); // gan table cho report // tao frm hien thi reportviewer frmHienThiBaoCao frm = new frmHienThiBaoCao(); frm.GanBaoCaoCanHienThi(cr); frm.ShowDialog(); }