1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO cáo bài tập lớn môn lập TRÌNH HƯỚNG sự KIỆN. ĐỂ TÀI: QUẢN LÝ CƠ SỞ DỮ LIỆU CỬA HÀNG BÁN ĐỒ ĐIỆN TỬ

38 1,4K 25

Đ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

Định dạng
Số trang 38
Dung lượng 0,97 MB
File đính kèm LAP TRING SU KIEN.rar (287 KB)

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

Nội dung

BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH HƯỚNG SỰ KIỆN ĐỂ TÀI: QUẢN LÝ CƠ SỞ DỮ LIỆU CỬA HÀNG BÁN ĐỒ ĐIỆN TỬ, Thiết kế cơ sở dữ liệu Tạo bảng Tạo các view và proceduce cho việc thêm, sửa, xóa , tìm kiếm… Viết trang chủ cho bài quản lý và kêt nối cơ sở dữ liệu window from. Tạo các bản window from như quản lý khách hàng, sản phẩm hóa đơn, CT_hóa đơn Viết câu lênh thêm, sửa, xóa cho bài quản lý.

Trang 1

BÁO CÁO BÀI T P L N MÔN L P TRÌNH HẬ Ớ Ậ ƯỚNG S KI NỰ Ệ

Đ TÀI: QU N LÝ C S D LI U C A HÀNG BÁN Đ ĐI N TỂ Ả Ơ Ở Ữ Ệ Ử Ồ Ệ Ử

- Ph m Văn Hoàng : L p 14A1ạ ớ

- Mai Quang Minh : L p 14A1ớ

- Nguy n Thùy Dễ ương : L p 14A3ớ

- Chu Th Phị ương : L p 14A2ớ

qu n lý khách hàng, s n ph mả ả ẩhóa đ n, CT_hóa đ nơ ơ

- Vi t câu lênh thêm, s a, xóa cho ế ửbài qu n lý.ả

cho bài toán qu n lýả

- Tìm ki m trong các b ng nhân ế ảviên, khách hàng, s n ph m theo ả ẩ

II) Bài toán qu n lý s d ng window from b ng ngôn ng c#ả ử ụ ằ ữ

1) Thi t l p c s d li uế ậ ơ ở ữ ệ

C s d li u cho c a hàng bán đ đi n t :ơ ở ữ ệ ử ồ ệ ử

Trang 2

Phát bi u bài toán: ể

C a hàng kinh doanh đ đi n t chuyên bán các s n ph m đ đi n t nh t l nh,ử ồ ệ ử ả ẩ ồ ệ ử ư ủ ạmáy gi t, tivi, qu t máy tính, đi n tho i và nhi u m t hàng khác.ặ ạ ệ ạ ề ặ

C a hàng bán đ đi n t g m có ch c a hàng, nhân viên qu n lý bán hàng vàử ồ ệ ử ồ ủ ử ả

được giao theo nhi u phòng ban.ề

C s d li u c a c a hàng g m có qu n lý nhân viên, khách hàng đ n mua hàng ,ơ ở ữ ệ ủ ử ồ ả ế

qu n lý s n ph m c a c a hàng, hóa đ n thanh toán c a khách hàng, qu n lý toànả ả ẩ ủ ử ơ ủ ả

b phòng ban và chi ti t hóa đ n độ ế ơ ược nhân viên l p cho khách hàng.ậ

Xác đ nh ki u th c th ị ể ự ể

+ Ch c a hàng không ph i là ki u th c th vì đây là ki u th c th duy nh tủ ử ả ể ự ể ể ự ể ấ+ Nhân viên c a hàng ch thu c m t b ph n và m t b ph n có nhi u nhân ủ ỉ ộ ộ ộ ậ ộ ộ ậ ềviên

+ M i hóa đ n do 1 nhân viên l p, m t nhân viên có th l p nhi u hóa đ nỗ ơ ậ ộ ể ậ ể ơ+ M i hóa đ n đỗ ơ ượ ậc l p cho 1 khách hàng, m t khách hàng có th có nhi u ộ ể ềhóa đ nơ

+ Chi ti t hóa đ n có thông tin c a s n ph m trong hóa đ nế ơ ủ ả ẩ ơ

Nhanvien ( Manv, hoten, ngaysinh, GT, diachi)

Khachhang (makh, tenkh, diachi, dienthoai, email)

Sanpham ( masp, tensp, donvi, dongia)

Hoadon (mahd, ngaylap)

CT_hoadon(mahd, soluong, giamgia)

Phongban (maPB, tenPB)

Mô Hình Quan Hệ

Quy t c 1: chuy n liên th c th m nhắ ể ự ể ạ

1 Nhanvien ( Manv, hoten, ngaysinh, GT, diachi)

2 Khachhang (makh, tenkh, diachi, dienthoai, email)

3 Sanpham ( masp, tensp, donvi, dongia)

4 Hoadon (mahd, ngaylap)

5 CT_hoadon(mahd, soluong, giamgia)

6 Phongban (maPB, tenPB)

Quy t c 2 : chuy n các kiên k t 1-1ắ ể ế

Quy t c 3: chuy n các liên k t 1-nắ ể ế

Nhân viên thu c phongban n – 1ộ

Trang 3

1.1 Nhanvien((Manv, hoten, ngaysinh, GT, diachi, maPB)Nhân viên l p hóa đ n 1 – nậ ơ

4.1 Hoadon( Mahd, ngaylap, Manv)

Khachhang có Hoadon 1- n

4.2 Hoadon (Mahd, ngaylap, Manv, MakH)

Quy t c 4: chuy n ki u liên k t n – nắ ể ể ế

5.1 CT_Hoadon( Mahd, Masp, soluong, Giamgia)

T ng K t: ổ ế

Nhanvien (Manv, hoten, ngaysinh, GT, diachi, maPB)

Khachhang (makh, tenkh, diachi, dienthoai, email)

Sanpham (Masp, tensp, donvi, dongia)

Hoadon (Mahd, ngaylap, Manv, Makh)

CT_Hoadon ( Mahd, Masp, soluong, Giamgia)

Phongban (MaPB, tenPB)

Trang 4

create table sanpham

manv varchar(9) references nhanvien(manv),

makh varchar(9) references khachhang(makh),

);

create table CT_hoadon

(

mahd varchar(9) references hoadon(mahd),

masp varchar(9) references sanpham(masp),

Trang 6

private void btnthoat_Click(object sender, EventArgs e)

Trang 7

Sanpham sanpham = new Sanpham();

Trang 9

insert into khachhang

values (@makh,@tenkh,@diachi,@dienthoai,@email)

//khai bao gia tri texbox

var makh = txtmakh.Text;

var tenkh = txttenkh.Text;

var diachi = txtdiachi.Text;

var dienthoai = txtdienthoai.Text;

var email = txtemail.Text;

if(makh=="" || tenkh=="" || diachi=="" || dienthoai=="" || email =="") {

MessageBox.Show( "B n Ch a C p Nh p Đ Thông Tin!!!M i B n Đi n L i" ạ ư ậ ậ ủ ờ ạ ề ạ );

cmd.Parameters.AddWithValue("@makh", txtmakh.Text);

cmd.Parameters.AddWithValue("@tenkh", txttenkh.Text);

cmd.Parameters.AddWithValue("@diachi", txtdiachi.Text);

cmd.Parameters.AddWithValue("@dienthoai", txtdienthoai.Text); cmd.Parameters.AddWithValue("@email", txtemail.Text);

try

Trang 10

{

cnn.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("Thêm Thành Công"); Khachhang_Load(sender, e); }

catch {

MessageBox.Show("Thêm Th t B i! B trùng khóa chính"ấ ạ ị ); }

}

}

}

}

}

- Khi thêm d li u c n ki m tra xem có b trùng khóa chính:ữ ệ ầ ể ị

- D li u khi không trùng khóa chính:ữ ệ

- Nếu không nhập đủ thông tin:

Trang 11

if (makh=="" || tenkh=="" || diachi=="" || dienthoai=="" || email =="") // neu tat ca cac truong deu rong

where makh=@makh;

Trang 12

{

//khai bao bien cho cac textbox var makh = txtmakh.Text; var tenkh = txttenkh.Text; var diachi = txtdiachi.Text; var dienthoai = txtdienthoai.Text; var email = txtemail.Text; //neu ban khong nhap makh if(makh=="") {

MessageBox.Show( "B n Ch a nh p Mã Khách Hàng C n S a! M i B n Nh p" ạ ư ậ ầ ử ờ ạ ậ ); }

else {

if(tenkh=="" || diachi=="" || dienthoai=="" || email=="") {

MessageBox.Show("M i B n Nh p Thông Tin C n S a"ờ ạ ậ ầ ử ); }

else {

cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "update_khachhang"; cmd.Parameters.AddWithValue("@makh", txtmakh.Text); cmd.Parameters.AddWithValue("@tenkh", txttenkh.Text); cmd.Parameters.AddWithValue("@diachi", txtdiachi.Text); cmd.Parameters.AddWithValue("@dienthoai", txtdienthoai.Text); cmd.Parameters.AddWithValue("@email", txtemail.Text); try {

cnn.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("S a Thành Công"ử ); Khachhang_Load(sender, e); }

catch {

MessageBox.Show("S a Th t B i"ử ấ ạ ); }

}

}

}

}

}

- S a theo mã khách hàng :

Trang 13

- Đi u k n s a n u không có mã khách hàng ho c nh p thông tin:ề ệ ử ế ặ ậ

 Ph n xóa theo mã khách hàngầ

- Vi t procedure xóa theo mã khách hàngế

create proc delete_khachhang

@makh varchar(9)

as

begin

delete from khachhang

where makh=@makh

end

- Mã ngu n xóa theo mã khách hàng:

private void btnxoa_Click(object sender, EventArgs e)

Trang 14

{

using(SqlCommand cmd=new SqlCommand("delete_khachhang",cnn)) {

//khai bao bien cho textbox khachhang var makh = txtmakh.Text; if (makh == "") {

MessageBox.Show( "B n ch a nh p mã khách hàng c n xóa!! M i B n Nh p" ạ ư ậ ầ ờ ạ ậ ); }

else {

cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "delete_khachhang"; cmd.Parameters.AddWithValue("@makh", txtmakh.Text); try {

cnn.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("Xóa Thành Công"); Khachhang_Load(sender, e); }

catch {

MessageBox.Show("Xóa Th t B i"ấ ạ ); }

}

}

}

}

- VD xóa theo mã khách hàng

- Đi u ki n xóa mà không nh p mã khách hàng:ề ệ ậ

Trang 16

// TODO: This line of code loads data into the

'qLbanhangdientuDataSet11.sanpham' table You can move, or remove it, as needed this.sanphamTableAdapter.Fill(this.qLbanhangdientuDataSet11.sanpham);

// TODO: This line of code loads data into the 'qLbanhangdientuDataSet.hoadon' table You can move, or remove it, as needed

- Thêm cho b ng chi ti t hóa đ nả ế ơ

private void btnthem_Click(object sender, EventArgs e)

Trang 17

{

using(SqlConnection cnn=new SqlConnection(constr)) {

using(SqlCommand cmd= new SqlCommand("them_cthoadon",cnn)) {

//khai bao bien var soluong = txtsoluong.Text; var giamgia = txtgiamgia.Text; if (soluong == "" || giamgia == "") {

MessageBox.Show("B n ch a nh p thông tin c n Thêm!!M i nh p ạ ư ậ ầ ờ ậ l i"ạ ); }

else {

cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "them_cthoadon"; cmd.Parameters.AddWithValue("@mahd", cbxmahd.Text); cmd.Parameters.AddWithValue("@masp", cbxmasp.Text); cmd.Parameters.AddWithValue( "@soluong" , Int32 Parse(txtsoluong.Text)); cmd.Parameters.AddWithValue( "@giamgia" , Int32 Parse(txtgiamgia.Text)); try {

cnn.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("Thêm thành công"); CT_hoadon_Load(sender, e); }

catch {

MessageBox.Show("Th t B i"ấ ạ ); }

}

}

}

}

- S a cho b ng chi ti t hóa đ nử ả ế ơ

Trang 18

private void btnsua_Click(object sender, EventArgs e)

{

using(SqlConnection cnn=new SqlConnection(constr)) {

using(SqlCommand cmd =new SqlCommand("update_cthoadon",cnn)) {

//khai bao neu khong dien var soluong = txtsoluong.Text; var giamgia = txtgiamgia.Text; if (soluong == "" || giamgia == "") {

MessageBox.Show("B n ch a nh p thông tin c n s a!!M i nh p l i"ạ ư ậ ầ ử ờ ậ ạ ); }

else {

cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "update_cthoadon"; cmd.Parameters.AddWithValue("@mahd", cbxmahd.Text); cmd.Parameters.AddWithValue("@masp", cbxmasp.Text); cmd.Parameters.AddWithValue( "@soluong" , Int32 Parse(txtsoluong.Text)); cmd.Parameters.AddWithValue( "@giamgia" , Int32 Parse(txtgiamgia.Text)); try {

cnn.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("S a thành công"ử ); CT_hoadon_Load(sender, e); }

catch {

MessageBox.Show("Th t B i"ấ ạ ); }

}

}

}

}

- Xóa b ng chi ti t hóa đ nả ế ơ

Trang 19

private void btnxoa_Click(object sender, EventArgs e)

 X lý đi u ki n cho dataGridView1ử ề ệ

private void dataGridView1_CellContentClick(object sender,

DataGridViewCellEventArgs e)

{

cbxmahd.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); cbxmasp.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString(); txtsoluong.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString(); txtgiamgia.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString(); }

Trang 20

select * from sanpham

where masp like '%'+@masp+'%' not tensp like '%'+@tensp+'%'end

tim kiem khach hang

create proc timkiem_khachhang

select * from khachhang

where makh like @makh or tenkh like '%'+@tenkh+'%'

end

- Vi t code ph n tìm ki m b ng c#ế ầ ế ằ

Trang 21

private void Timkiem_Load(object sender, EventArgs e)

{

//comboBox1.Text = "S n ph m";//hien chu San Pham len dauả ẩ

using(SqlConnection cnn=new SqlConnection(constr))

var ten = txtten.Text;

//khai bao bien trong texbox

//neu khong nhap du 2 bien thi thong bao

if(ma=="" && ten=="")

Trang 22

using(SqlCommand cmd=new SqlCommand("timkiem_sanpham",cnn)) {

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "timkiem_sanpham";

cmd.Parameters.AddWithValue("@masp", txtma.Text);

cmd.Parameters.AddWithValue("@tensp", txtten.Text);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable tb= new DataTable();

cmd.Parameters.AddWithValue("@makh", txtma.Text);

cmd.Parameters.AddWithValue("@tenkh", txtten.Text);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable tb=new DataTable();

cmd.Parameters.AddWithValue("@manv", txtma.Text);

cmd.Parameters.AddWithValue("@tennv", txtten.Text);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable tb=new DataTable();

Trang 23

Vi t mã ngu n ph n quay l i và nút thoátế ồ ầ ạ

private void btnquaylai_Click( object sender, EventArgs e)

Trang 24

- T o view báo cáo có tên là

create view kh_hoadon(mahd,tennv,makh,tenkh,ngaylap,tongtien)

as

select

hoadon.mahd,nhanvien.tennv,khachhang.makh,khachhang.tenkh,hoadon.ngaylap,sum(soluong*dongia)

from hoadon,nhanvien,khachhang,CT_hoadon,sanpham

where hoadon.manv=nhanvien.manv and

hoadon.makh=khachhang.makh and

hoadon.mahd=CT_hoadon.mahd and

CT_hoadon.masp = sanpham.masp

CrytalReport1 crt = new CrytalReport1();

SqlConnection cnn = new SqlConnection(@"Data

Trang 25

- B n báo cáo:

Ngày đăng: 10/04/2017, 11:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w