Tải bản đầy đủ (.doc) (24 trang)

Xây dựng Xây dựng website giới thiệu và bán các mặt hàng Sữa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.57 MB, 24 trang )

Trường Đại Học Công Nghiệp Hà Nội
Khoa Công Nghệ Thông Tin
--------------------

BÁO CÁO BÀI TẬP LỚN MÔN
Lập trình CSDL trên Web
Đề tài : Xây dựng Xây dựng website giới thiệu và bán các mặt hàng Sữa
Nhóm thực hiện: Nhóm 3
Giáo viên hướng dẫn : Th.s Đỗ Ngọc Sơn
Lớp: Tin1_K15
Sinh viên thực hiện:
Lê Tiến Dũng
Đỗ Thị Hương
Nguyễn Thị Linh

Hà Nội, Ngày 10, Tháng 01, Năm
2016

1


Bảng phân công công việc:
Mã SV
0741060189
1531060035
1531060066

Họ tên
Lê Tiến Dũng
Nguyễn Thị Linh
Đỗ Thị Hương



Công việc
Xây dựng chương trình
Tìm hiểu đề tài,Phân tích
Nhập CSDL

Lời nói đầu
Ngày nay, thời đại của nền kinh tế thị trường, thời đại của Công nghệ thông tin đang
bùng nổ trên toàn Thế giới, các Công ty, các tổ chức mọc lên ngày càng nhiều, về
trình độ cũng như cơ sở hạ tầng, trang thiết bị hiện đại. Từ hệ thống quản lý , vận
hành sản xuất, hạch toán kinh tế… Tất cả đều nhờ vào công cụ máy tính và hệ thống
mạng máy tính, mới giúp con người làm việc được nhanh chóng đồng thời lưu trữ dữ
liệu được lâu dài.
Nói một cách đúng hơn là việc sử dụng hệ thống website là không thể thiếu ở trong
công ty hay là bất kỳ lĩnh vực khác. Vậy thì làm thế nào để có thiết kế được mô hình
website đảm bảo có tính khoa học, dễ vận hành cũng như sửa chữa một khi sự cố xảy
ra? Đó là một yêu cầu lớn đối với những người thiết kế web.
Sau khi được học và tích lũy được những kiến thức cần thiết của môn Lạp trình CSDL
trên Web.
Nhóm chúng em sẽ tìm hiểu và xây dựng website giới thiệu và bán các mặt hang sữa
Bài này sẽ gồm 2 phần đó là phần Tìm hiểu,phân tích thiết kế hệ thống, Thiết kế và
cài đặt chương trình

2


Chương 1: Tìm hiểu đề tài, phân tích thiết kế hệ thống
I.Khảo sát
Là doanh nghiệp không nên bỏ qua hàng chục triệu người đang sử dụng internet trên
toàn cầu và con so này k ngừng phat triển trong mỗi ngày. Hãy tiếp cận với khách

hàng đầy tiềm năng nay.
Ta cần tham gia ngay vào internet và đi trước nhữn đối thủ cạnh tranh.
Mỗi doanh nghiệp, tổ chức, nên quan tâm đến việc xây dụng cho mình một website
bởi những lợi ích mà internet mang lại:
Khả năng toàn cầu: Ngày nay đã có hàng triệu người sủ dụng internet trên khắp thế
giới trong mỗi ngày để tìm kiếm thông tin, liên hệ, mua bán qua các website. Với khả
nawbg rộng khắc toàn cầu đó thì bạn có thể liên lạc với hàng triệu khác hàng để giới
thiệu thông tin, sản phẩm, dịch vụ của bạn đến bất kì nước nào trên thế giới một cách
nhanh chóng nhất thông qua website.
Khả năng liên tục: Khi doanh nghiệp đã có một website thì khách hàng có thể tìm
hiểu về những thông tin, sản phẩm của doanh nghiệp đó trên website vào bất kì thời
gian nao. Thời gian cho việc giao dịch là 24 giời/ngày,7 ngày/tuần, 365 ngày/năm.Với
khẳng năng đó của internet thì khách hàng có thể liên hệ với doanh nghiệp của baon
vào bất kì thời gian nao và doanh nghiệp của bạn cũng có thể chăm soc khách hàng
của mình vào mọi thời điểm.
Cập nhật và thay đổi: Các sản phẩm, dịch vụ của bạn được cập nhật, thay đổi một
cách dể dàng nhanh chóng và chi phí thấp. Nếu muốn cập nhập hay thay đổi những
thông tin trên các sản phẩm in ấn trên giấy như cataloges, flyers, beochures…, điều đó
là rất khó khăn và tốn kém, chẳng hạn doanh nghiệp vùa nhập được sản phẩm mới và
muốn đưa ra quảng cáo, giới thiệu ó như một loại hàng đặc biệt với khách hàng của
doanh nghiệp qua điện thoại, fax, việc này sẽ mất rất nhiều thời gian và tốn
kém.Ngược lại với internet thì cùng một lúc doanh nghiệp có thêt giửi đến rất nhiều
khách hàng chỉ bằng một cahcs nháy chuột.Hoặc đặt sản phẩm mới vào mục thông tin
quảng cáo trên website của doanh nghiệp. Nếu muốn bổ sung hay thay đổi mặt hàng
mới lên website thì cũng mất thời gian.
Chi phí thấp: Với khoảng cách xa thì chi phí cho việc liên hệ qua điện thoại sẽ là rất
tốn kém, có thể lên đến hàng trăm, hàng ngàn đô la, với các mức chi phi cho dịch vụ
internet ngày càng giảm việc giao dịch với khách hàng của bạn thông qua website,
email thì doanh nghiệp sẽ tiết khiệm được một số tiền rất lớn.


3


Đa ngôn ngữ: doanh nghiệp không phải giới hạn thị trường của mình bằng 1 ngôn
ngữ, hãy tiếp cận với ngững khách hàng sử dụng ngôn ngữ khác nhau. Nếu sản phẩm
hay dịch vụ của doanh nghiệp cho phép điều này ta có thể tạo thêm những ngôn ngữ
khác trên trang website của doanh ngiệp.Việc này có thể làm cho người sủa dụng lựa
chon nhiều ngôn ngữ phù hợp khi họ đến với website và việc đó đồng thời nâng cao
khẳ năng bán hàng ra thị trường nước ngoài.

II.Phân tích thiết kế hệ thống
1. Phân tích chức năng hệ thống.
Xây dựng website phụ thuộc vào 2 đối tượng chính: công ty sữa có nhu
cầu quảng cáo và kinh doanh trực tuyến các mặt hàng sữa.Các khách
hàng có nhu cầu tham khảo, tìm kiếm, mua sữa.
a. Đối tượng là các công ty kinh doanh sữa.
b. Website có tính năng mờ, admin có quyền cập nhật thay đổi nội dung trình bày trên
website thông qua sự thay đổi trong CSDL.
c. Đối tượng là khách hàng.
− Khách hàng có thể tham khảo và mua hàng một cách dể dàng và tiết kiệm
được nhiều thời gian.
− Để áp dụng yêu cầu của 2 đối tượng trên, hệ thống chức năng chia thành 7
chức năng chính:
1.1 Chức năng quảng cáo.
− Trưng bày các mặt hàng để giới thiệu tới những khách hàng viếng thăng
website.
− Quảng cáo hình ảnh công ty, các chính sách, tin tức mới…của công ty.
− Các công ty hoặc tổ chức khác có nhu cầu quảng cáo sản phẩm có thể hiên
hệ để được đăng quảng cáo.
1.2. Chức năng bán hàng.

− Khách hàng sau khi đã xem xét các mặt hàng kỹ lưỡng có sự đối chiếu
so sánh các laoij mặt hàng về chức năng, giá cả có thể chọn mua hàng.
− Ngay sau khi khách hàng chọn mua một sản phẩm nào đó thì sẽ có 1 giỏ
hàng tự động được tạo ra khách hàng đến khi kết thúc qua trình chon
mua.
− Khách hàng có thể chỉnh sữa số lượng hàng hóa mà mình đã chọn có
trong giỏ hàng bằng cách thêm, sữa, xóa các hàng có trong giỏ hàng.
1.3. Quản trị.
− Admin có toàn bộ quyền truy suất, cập nhật đối với dữ liệu được trưng
bày trên website.
− Quản trị thông tin khách hàng, ý kiến từ khách hàng và giải đáp thắc mắc
được gửi đến từ khách hàng.

4


1.4.

1.5.
1.6.

1.7.

− Cấp quyền đăng kí một tài khoản mới để mua hàng, thông tin đăng ký
được lưu lại để lần sau khi khách hàng đăng nhập website sẽ có thể mua
hàng mà không phải đăng ký.
Thống kê.
− Thống kê số lượt người truy cập vào trang website.
− Thống kê các mặt hàng bán chạy trong tháng.
− Thống kê sự đánh giá của khách hàng đối với công ty và sản phẩm của

công ty.
Tìm kiếm.
− Khách hàng có thể tìm kiếm các mặt hàng theo tên sản phẩm
Đăng nhập.
− Khách hàng khi truy cập vào website lần đầu tin có thể đăng nhập để sử
dụng các thông tin đăng nhập đó mua hàng và được cung cấp nhanh nhất
các thông tin về công ty và sản phẩm. Mặc dù vậy website không bắt
buộc khách hàng phải đăng ký mà vẫn xem được thông tin sản phẩm
trưng bày trên website.
Thanh toán.
− Sau khi kết thúc quá trình chọn hàng để mua, khách hàng điền đầy đủ
thông tin cá nhân cần thiết để công ty có thể liên lạc được và chon
phương thức thanh toán phù hợp: thanh toán qua bưu điện, thanh toán tại
nhà, thanh tán tại văn phòng công ty hoặc chuyển khoản qua ngân hàng.

Chương 2:Thiết kế và cài đặt chương trình

5


Lớp Dữ liệu
public class Dulieu
{
public Dulieu()
{
}
public SqlConnection KetNoi()
{
return new SqlConnection("Data Source=.;Database=QLMilk;Integrated
Security=True");

}
public DataTable Bang(string sql)
{
SqlConnection con = KetNoi(); con.Open();
SqlDataAdapter ad = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
ad.Fill(dt);
return dt;
}
public void CapNhat(string sql)
{
SqlConnection con = KetNoi(); con.Open();
SqlCommand sqlUpdate = new SqlCommand(sql, con);
sqlUpdate.ExecuteNonQuery();
}
}

Lớp Xử lý
public class Xuly
{
Dulieu dl = new Dulieu();
string _id,_tit, _des, _pri, _pt,
public string Id
{ get { return _id; } set { _id =
public string sl
{ get { return _sl; } set { _sl =
public string title
{ get { return _tit; } set { _tit
public string description
{ get { return _des; } set { _des

public string price
{ get { return _pri; } set { _pri
public string photo
{ get { return _pt; } set { _pt =
public string loai
{ get { return _lo; } set { _lo =
public Xuly()
{

_sl, _lo;
value; } }
value; } }
= value; } }
= value; } }
= value; } }
value; } }
value; } }

}
public Xuly(string i, string tit, string des, string pri,string sl, string l,
string pt)
{
_id=i; _sl = sl; _tit = tit; _des = des; _pri = pri; _lo = l; _pt = pt;
}
public DataTable Hien()
{

6



string sql = "select Id,Title,Description,Price,CategoryId,Photo from
Product";
return dl.Bang(sql);
}
public DataTable Login(string name)
{
string sql = "select Username,Password from Login where Username='"+name+"'";
return dl.Bang(sql);
}
public DataTable Tim(string ten)
{
string sql = "select Id,Title,Description,Price,CategoryId,Photo from Product
where Title like N'%" + ten + "%'";
return dl.Bang(sql);
}
public DataTable HienCT(int ma)
{
string sql = "select Id,Title,Description,Price,CategoryId,Photo from Product
where Id='"+ma+"'";
return dl.Bang(sql);
}
public DataTable Theoloai(int ID)
{
string sql = "Select * from product where CategoryId='" + ID + "'";
return dl.Bang(sql);
}
public void Them()
{
string sql = "INSERT INTO
Product(Id,Title,Description,Price,Quantity,CategoryId,Photo) VALUES('" + Id + "',N'"

+ title + "',N'" + description + "','" + price + "','" + sl + "','" + loai + "','" +
"~/images/products/" + photo + "')";
dl.CapNhat(sql);
}
public void Sua(string id)
{
string sql = "Update Product Set Title=N'" + title + "',Description=N'" +
description + "',Price='" + price + "',Quantity='" + sl + "',CategoryId='" + loai +
"',Photo='" + "~/images/products/" + photo + "' where Id='" + id + "'";
dl.CapNhat(sql);
}
public void Xoa(string id)
{
string sql = "delete from Product where Id='" +id + "'";
dl.CapNhat(sql);
}
}

7


Trang Product

<%@ Page Title="" Language="C#" MasterPageFile="~/Page/FrontEnd.master"
AutoEventWireup="true" CodeFile="Product.aspx.cs" Inherits="Page_Product" %>
<asp:Content ID="Content1" ContentPlaceHolderID="main_body" Runat="Server">
Width="520px"
onitemcommand="DataList1_ItemCommand"
onselectedindexchanged="DataList1_SelectedIndexChanged" >

<ItemTemplate>
<table class="myBox">
<tr>
<td style="width: 97px">
ToolTip="Xem chi tiết..." Width="95px" />
</td>
<td class="name" style="width: 150px" >


NavigateUrl='<%# "DetailsProducts.aspx?Id=" +
Eval("Id").ToString() %>'
Text='<%# Eval("Title") %>'
ToolTip="Xem chi tiết..." >

8


</asp:HyperLink>





Giá:

runat="server"

Text='<%#String.Format("{0:000,0 }", Eval("Price")) %>' /> đ




NavigateUrl='<%# "DetailsProducts.aspx?Id=" +
Eval("Id").ToString() %>' >
Xem chi tiết...
</asp:HyperLink>
Text="Add Cart" />
</td>
</tr>
</table>


</ItemTemplate>
</asp:DataList>
</asp:Content>
public partial class Page_Product : System.Web.UI.Page
{
Xuly xl = new Xuly();
public void HienThi()
{
DataList1.DataSource = xl.Hien();
DataList1.DataBind();
}
static DataTable tbGioHang = new DataTable();//khoi tao table chua gio hang
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{

tbGioHang.Rows.Clear();
tbGioHang.Columns.Clear();
tbGioHang.Columns.Add("Id",typeof(int));
tbGioHang.Columns.Add("Title",typeof(string));
tbGioHang.Columns.Add("Price", typeof(float));
tbGioHang.Columns.Add("Quantity",typeof(int));
tbGioHang.Columns.Add("SubTotal", typeof(double), "Quantity * Price");
HienThi();
}

}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "AddToCart")
{
int intId = int.Parse(DataList1.DataKeys[e.Item.ItemIndex].ToString());
string strTitle = ((HyperLink)e.Item.FindControl("HyperLink2")).Text;
float flPrice =
float.Parse(((Literal)e.Item.FindControl("Literal1")).Text);
int intQuantity = 1;
//Add vao gio hang

9


foreach (DataRow row in tbGioHang.Rows)
{//Kiem tra neu mat hang da co roi thi tang so luong len 1
if ((int)row["Id"] == intId)
{
row["Quantity"] = (int)row["Quantity"] + 1;

goto GioHang;
}
}
tbGioHang.Rows.Add(intId, strTitle, flPrice, intQuantity);
GioHang:
Session["GioHang"] = tbGioHang;
}
}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
}

}

Trang DetailProduct

<%@ Page Title="" Language="C#" MasterPageFile="~/Page/FrontEnd.master"
AutoEventWireup="true" CodeFile="DetailsProducts.aspx.cs"
Inherits="Page_DetailsProducts" %>
<asp:Content ID="Content1" ContentPlaceHolderID="main_body" Runat="Server">

10


onselectedindexchanged="DataList1_SelectedIndexChanged"
onitemcommand="DataList1_ItemCommand">
<ItemTemplate>
<table style="width: 100%;" border="1px">
<tr>

<td style="width: 320px" valign="top" align="justify" >

</asp:Literal> 



</asp:Literal>



Giá:
đ





CommandName="AddToCart"
onclick="btnAddToCart_Click" />
<input type= "button" value="Trở về" onclick="history.go(-1);" />



 


</td>
<td style="width: 200px; ">
Width="200px" />
</td>
</tr>
</table>





</ItemTemplate>
</asp:DataList>
</asp:Content>

public partial class Page_DetailsProducts : System.Web.UI.Page
{
Xuly xl = new Xuly();
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{
int ID = Int32.Parse(Request.QueryString["Id"].ToString());
DataList1.DataSource = xl.HienCT(ID);
DataList1.DataBind();
}

}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void btnAddToCart_Click(object sender, EventArgs e)

11


{
}

protected void btnShowCart_Click(object sender, EventArgs e)
{
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
}

}

Trang Loai sua

<%@ Page Title="" Language="C#" MasterPageFile="~/Page/FrontEnd.master"
AutoEventWireup="true" CodeFile="Loaisua.aspx.cs" Inherits="Page_Laptrinh" %>
<asp:Content ID="Content1" ContentPlaceHolderID="main_body" Runat="Server">
<asp:DataList ID="DataList1" runat="server" RepeatColumns="2" Width="520px">
<ItemTemplate>
<table class="myBox1" >
<tr>
<td class="name" style="width: 170px" colspan="2" >


NavigateUrl='<%# "DetailsProducts.aspx?Id=" +
Eval("Id").ToString() %>'

12


</tr>
<tr>


Text='<%# Eval("Title") %>'
ToolTip="Xem chi tiết..." >
</asp:HyperLink>


</td>




<td style="width: 75px">

ToolTip="Xem chi tiết..." Width="75px" />
</td>
<td class="name" style="width: 90px" >


Giá:
Text='<%#String.Format("{0:000,0 đ}", Eval("Price")) %>' />





NavigateUrl='<%# "DetailsProducts.aspx?Id=" +
Eval("Id").ToString() %>' >
Xem chi tiết...
</asp:HyperLink>

</td>

</tr>
</table>


</ItemTemplate>
</asp:DataList>
</asp:Content>
public partial class Page_Laptrinh : System.Web.UI.Page
{
Xuly xl = new Xuly();
protected void Page_Load(object sender, EventArgs e)
{
int ID = Int32.Parse(Request.QueryString["CategoryId"].ToString());
DataList1.DataSource = xl.Theoloai(ID); ;
DataList1.DataBind();
}
}

Trang Admin

13


<%@ Page Title="" Language="C#" MasterPageFile="~/Page/FrontEnd.master"
AutoEventWireup="true" CodeFile="Admin.aspx.cs" Inherits="Page_Admin" %>
<asp:Content ID="Content1" ContentPlaceHolderID="main_body" Runat="Server">
<table align="center" width="200px">
<tr>
<td align="center" style="background-color:Purple; color:White;font-weight:bold">
Đăng nhập

</td>
</tr>
<tr>
<td>
User name:

<asp:TextBox runat="server" ID="txtUserName" Width="92%"> </asp:TextBox>

Password:

<asp:TextBox runat="server" ID="txtPassword" Width="92%"></asp:TextBox>

</td>
</tr>
<tr>
<td align="center">
onclick="cmdLogin_Click" />
</td>
</tr>
</table>
</asp:Content>

14


public partial class Page_Admin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void cmdLogin_Click(object sender, EventArgs e)
{

}

if (txtUserName.Text=="CityHunter" && txtPassword.Text=="22063112")
{
Session.Contents["TrangThai"] = "OK";
Response.Redirect("Quyenadmin.aspx");
}
else
Response.Write("Bạn đã đăng nhập sai");

}

Trang Quantri

<%@ Page Title="" Language="C#" MasterPageFile="~/Page/MasterPage.master"
AutoEventWireup="true" CodeFile="Quantri.aspx.cs" Inherits="Page_Quantri" %>
<asp:Content ID="Content1" ContentPlaceHolderID="main_body" Runat="Server">

15



<tr>
<td style="height: 38px">Mã</td>
<td class="style1">

<asp:TextBox ID="txtID" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width:150px; height: 27px;" >
Tên sữa:</td>
<td class="style2">
Width="340px"
Font-Bold="True" Font-Names="Times New Roman" Font-Size="Medium"
Height="50px" Rows="3"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Mô tả:</td>
<td class="style2">
Width="352px"
Height="150px" Font-Bold="True" Font-Names="Times New Roman"
Font-Size="Medium" Rows="7"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 41px">
Giá :</td>
<td class="style3">
Font-Names="Times New Roman" Font-Size="Medium"></asp:TextBox>
</td>

</tr>
<tr>
<td style="height: 40px">
Số lượng:</td>
<td class="style4">
Font-Names="Times New Roman" Font-Size="Medium"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 49px">
Loại sữa:</td>
<td class="style5">
 
<asp:DropDownList ID="Droploai" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td style="height: 59px">
Hình ảnh:</td>
<td class="style6">

16



Height="35px"
/>

Font-Bold="True" Font-Names="Times New Roman" Font-Size="Medium"

</td>
</tr>
<tr>
<td style="height: 79px" colspan="2">
              
Text="Thêm"
Width="77px" />
  
onclick="btnXoa_Click" />
 
onclick="btnSua_Click" />
 
onclick="btnGhi_Click" />
 
onclick="btnKhong_Click" />
 

              
<asp:Label ID="lblThongbao" runat="server" Text="Label"></asp:Label>

   
onclick="btnCo_Click" />
 
onclick="btnKo_Click" />
</td>
</tr>
</table>
<table>
ForeColor="#333333"
GridLines="None" AutoGenerateColumns="False" Width="517px"
onselectedindexchanged="GridView1_SelectedIndexChanged" >
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:BoundField DataField="Title" HeaderText="Tiêu đề" />
DataFormatString="{0:000,0 đ}" />
<asp:BoundField DataField="CategoryID" HeaderText="Loại" />
ShowSelectButton="True" />
</Columns>
<EditRowStyle BackColor="#999999" />
ForeColor="White" />
ForeColor="White" />
HorizontalAlign="Center" />

<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />

17


</asp:Content>

<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
</table>

<asp:Content ID="Content2" runat="server" contentplaceholderid="head">
<style type="text/css">
.style1
{
height: 38px;
width: 129px;
}
.style2
{
width: 129px;
}
.style3
{
height: 41px;

width: 129px;
}
.style4
{
height: 40px;
width: 129px;
}
.style5
{
height: 49px;
width: 129px;
}
.style6
{
height: 59px;
width: 129px;
}
</style>
</asp:Content>

public partial class Page_Quantri : System.Web.UI.Page
{
public void laybangchogrid()
{
Xuly xl = new Xuly();
GridView1.DataSource = xl.Hien();
GridView1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
txtID.Enabled = false;
laybangchogrid();
btnGhi.Enabled = false;
btnKhong.Enabled = false;
lblThongbao.Text = "";
btnCo.Visible = false;
btnKo.Visible = false;

18


ViewState["flag"] = false;
}
}
private void SaveFileUpload()
{
string strFilePath;
if (FileUploadAnh.FileName != "")
{
strFilePath = Server.MapPath("../images/products/" +
FileUploadAnh.FileName);
FileUploadAnh.PostedFile.SaveAs(strFilePath);
}
}
protected void btnThem_Click(object sender, EventArgs e)
{
txtID.Enabled = true;
btnGhi.Enabled = true;

btnKhong.Enabled = true;
txtTieude.Text = ""; txtNoidung.Text = ""; txtGia.Text = ""; txtSoluong.Text =
""; txtTieude.Focus();
ViewState["flag"] = true;
btnThem.Enabled = false;
btnXoa.Enabled = false;
btnSua.Enabled = false;
}
protected void btnGhi_Click(object sender, EventArgs e)
{
if ((bool)ViewState["flag"] == true)
{
string sLoai = Droploai.SelectedValue;
string sAnh = FileUploadAnh.FileName;
Xuly xl = new Xuly(txtID.Text,txtTieude.Text, txtNoidung.Text,
txtGia.Text, txtSoluong.Text, sLoai, sAnh);
xl.Them();
laybangchogrid();
lblThongbao.Text = "Bạn đã thêm thành công";
btnGhi.Enabled = false;
btnKhong.Enabled = false;
btnThem.Enabled = true;
btnXoa.Enabled = true;
btnSua.Enabled = true;
}
else
{
string sLoai = Droploai.SelectedValue;
string sAnh = FileUploadAnh.FileName;
Xuly xl = new Xuly(txtID.Text,txtTieude.Text, txtNoidung.Text,

txtGia.Text, txtSoluong.Text, sLoai, sAnh);
xl.Sua(txtID.Text);
laybangchogrid();
btnGhi.Enabled = false;
btnKhong.Enabled = false;
btnThem.Enabled = true;
btnXoa.Enabled = true;
btnSua.Enabled = true;
lblThongbao.Text = "Bạn đã Sửa thành công";
}

19


txtID.Enabled = false;
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int dong = GridView1.SelectedIndex;
Xuly xl = new Xuly();
DataTable dt = new DataTable();
dt = xl.Hien();
txtTieude.Text = dt.Rows[dong][1].ToString();
txtNoidung.Text = dt.Rows[dong][2].ToString();
txtGia.Text = dt.Rows[dong][3].ToString();
txtSoluong.Text = dt.Rows[dong][4].ToString();
txtID.Text = dt.Rows[dong][0].ToString();
lblThongbao.Text = "";
txtID.Enabled = false;
}

protected void btnSua_Click(object sender, EventArgs e)
{
txtTieude.Focus();
btnGhi.Enabled = true;
btnKhong.Enabled = true;
ViewState["flag"] = false;
btnThem.Enabled = false;
btnXoa.Enabled = false;
btnSua.Enabled = false;
txtID.Enabled = false;
}
protected void btnKhong_Click(object sender, EventArgs e)
{
btnThem.Enabled = true;
btnXoa.Enabled = true;
btnSua.Enabled = true;
btnGhi.Enabled = false;
btnKhong.Enabled = false;
lblThongbao.Text = "Lệnh bị hủy";
}
protected void btnCo_Click(object sender, EventArgs e)
{
Xuly xl = new Xuly();
xl.Xoa(txtID.Text);
laybangchogrid();
lblThongbao.Text = "Bạn đã xóa thành công";
btnCo.Visible = false;
btnKo.Visible = false;
btnThem.Enabled = true;
btnXoa.Enabled = true;

btnSua.Enabled = true;
}
protected void btnKo_Click(object sender, EventArgs e)
{
lblThongbao.Text = "Lệnh được hủy bỏ";
btnCo.Visible = false;
btnKo.Visible = false;
btnThem.Enabled = true;
btnXoa.Enabled = true;
btnSua.Enabled = true;
}
protected void btnXoa_Click(object sender, EventArgs e)

20


{

}

lblThongbao.Text = "Bạn có muốn xóa không ?";
btnCo.Visible = true;
btnKo.Visible = true;
btnThem.Enabled = false;
btnXoa.Enabled = false;
btnSua.Enabled = false;

}

Trang ShowCart


<%@ Page Title="" Language="C#" MasterPageFile="~/Page/FrontEnd.master"
AutoEventWireup="true" CodeFile="ShowCart.aspx.cs" Inherits="Page_ShowCart" %>
<asp:Content ID="Content1" ContentPlaceHolderID="main_body" Runat="Server">

GIỎ HÀNG:


DataKeyNames="Id" onrowdeleting="GridView1_RowDeleting"
onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating"
Width="520px" CellPadding="4" Font-Size="Small" ForeColor="#333333">
<RowStyle BackColor="#E3EAEB" />
<Columns>
<asp:TemplateField HeaderText="Mã sách">
<ItemTemplate>

21


%>'></asp:Label>

%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Đơn giá">

<ItemTemplate>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Quantity" HeaderText="Số lượng" />
<asp:TemplateField HeaderText="Thành tiền">
<ItemTemplate>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
<FooterStyle BackColor="#1C5E55" ForeColor="White" Font-Bold="True" />
HorizontalAlign="Center" />
ForeColor="#333333" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>


<asp:Label ID="LabelTongTien" runat="server" Text="Label"></asp:Label>
đ


</asp:Content>
public partial class Page_ShowCart : System.Web.UI.Page
{

static DataTable tbGioHang = new DataTable();
private void load_data()
{
tbGioHang = (DataTable)Session["GioHang"];
GridView1.DataSource = tbGioHang;
GridView1.DataBind();
string strnumber = tbGioHang.Compute("Sum(Subtotal)", "").ToString();
LabelTongTien.Text = "Tổng tiền là: " + strnumber;
}
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack==false)
load_data();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{

22


int intquantity = int.Parse((GridView1.Rows[e.RowIndex].Cells[3].Controls[0]
as TextBox).Text);
tbGioHang.Rows[e.RowIndex]["Quantity"] = intquantity;
GridView1.EditIndex = -1;
load_data();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
load_data();

}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
tbGioHang.Rows.RemoveAt(e.RowIndex);
GridView1.EditIndex = -1;
load_data();
}
}

Kết luận

Hệ thống chạy tốt hay không, duy trì được lâu hay không, thường xuyên gặp trục trặc
hay là ít, điều đó phần lớn đều bắt nguồn từ việc thiết kế web có khoa học hay không.
Với kiến thức hiện có của mình, em đã hoàn thành bài tập này .Em đã cố gắng thực
hiện như các yêu cầu ở trên khi tiến hành xây dựng website. Tuy nhiên, trong quá trình
làm sẽ không tránh khỏi những thiết sót, hoặc cũng sẽ có những chỗ còn vướng mắc,
chính vì vậy nhóm em mong được sự góp ý giúp đỡ của thầy giáo và các bạn, để bài
tập lớn của nhóm em được hoàn thiện hơn!
Chúng em xin chân thành cảm ơn!

23


Mục lục

Lời nói đầu.................................................................................................................................2
Chương 1: Tìm hiểu đề tài, phân tích thiết kế hệ thống........................................................3
I.Khảo sát................................................................................................................................3
II.Phân tích thiết kế hệ thống..................................................................................................4
....................................................................................................................................................5

Chương 2:Thiết kế và cài đặt chương trình...........................................................................5
...................................................................................................................................23
Kết luận....................................................................................................................................23

24