Mấy đại ca ơi giúp e với,tình hình là e đang làm 1 cái giỏ hàng nhưng khi chọn 1 sản phẩm nó lại hiện ra 3 hàng cùng lúc
E đang sửa 3 4 ngày rồi mà hok được,vài ngày nữa nộp bài ùi ai giúp e với hjxhjx
Code:
DataTable dt = new DataTable();
DataSet ds = new DataSet();
string namesp = "";
int giaban;
public string LayTenSach(int masach)
{
string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath("App_Data//csdl.mdb");
OleDbConnection Olecon = new OleDbConnection(str);
Olecon.Open();
string chuoitruyvan = "select MaSach,TenSach,Gia from Sach where MaSach=" + masach;
OleDbDataAdapter Oleda = new OleDbDataAdapter(chuoitruyvan, Olecon);
Oleda.Fill(dt);
namesp = dt.Rows[0]["TenSach"].ToString();
return namesp;
}
public int LayGiaSach(double masach)
{
string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath("App_Data//csdl.mdb");
OleDbConnection Olecon = new OleDbConnection(str);
Olecon.Open();
string chuoitruyvan = "select MaSach,TenSach,Gia from Sach where MaSach=" + masach;
OleDbDataAdapter Oleda = new OleDbDataAdapter(chuoitruyvan, Olecon);
Oleda.Fill(dt);
giaban = (int)dt.Rows[0]["Gia"];
return giaban;
}
public void HienSach()
{
string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Server.MapPath("App_Data//csdl.mdb");
OleDbConnection Olecon = new OleDbConnection(str);
string chuoitruyvan = "select * from Sach";
Olecon.Open();
OleDbDataAdapter Oleda = new OleDbDataAdapter(chuoitruyvan, Olecon);
Oleda.Fill(ds);
Sach.DataSource = ds.Tables[0];
Sach.DataBind();
Olecon.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HienSach();
}
}
Code:
protected void Sach_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "chonmua")
{
bool kt = false;
string masach = Sach.DataKeys[e.Item.ItemIndex].ToString();
dt = (DataTable)Session["cart"];
string TenSP = LayTenSach(int.Parse(masach));
//s = Convert.ToInt16((e.Item.FindControl("txtsl") as TextBox).Text.ToString());
if (dt.Rows.Count != 0)
{
foreach (DataRow dr in dt.Rows)
{
if (dr[0].ToString() == masach)
{
dr[3] = Convert.ToInt32(dr[3].ToString()) + 1;
dr[4] = Convert.ToInt32(dr[2]) * Convert.ToInt32(dr[3]);
kt = true; //gan cho bien kt==true
}
}
}
if (kt == false)
{
DataRow dr = dt.NewRow();
dr[0] = Convert.ToString(masach);
dr[1] = LayTenSach(int.Parse(masach));
dr[2] = LayGiaSach(int.Parse(masach));
dr[3] = 1;
dr[4] = Convert.ToInt32(dr[2]) * Convert.ToInt32(dr[3]);
dt.Rows.Add(dr);
Session["cart"] = dt;
}
//dt = (DataTable)Session["cart"];
GridView2.DataSource = dt;
GridView2.DataBind();
}
}
Global.asax
Code:
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID", typeof(string)));
dt.Columns.Add(new DataColumn("TenSanPham", typeof(string)));
dt.Columns.Add(new DataColumn("GiaTien", typeof(float)));
dt.Columns.Add(new DataColumn("SoLuong", typeof(Int32)));
dt.Columns.Add(new DataColumn("TongTien", typeof(float)));
Session["cart"] = dt;
}
