ASP.NET+SQL2005实现购物车相同商品的数据叠加

mahw18 2012-04-17 09:37:04
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class gwc : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["temp"] == null)
{
Random rnd = new Random();
int n = rnd.Next(1000, 9999);
string newname = DateTime.Now.Year.ToString().Trim() + DateTime.Now.Month.ToString().Trim() + DateTime.Now.Day.ToString().Trim() + DateTime.Now.Hour.ToString().Trim() + DateTime.Now.Minute.ToString().Trim() + DateTime.Now.Second.ToString().Trim() + n.ToString().Trim();

Session["temp"] = newname;
}
if (!IsPostBack)
{

string sql;
sql = "select * from goumaijilu where goumairen ='" + Session["temp"].ToString().Trim() + "' order by id desc";
getdata(sql);
}
}

private void getdata(string sql)
{
DataSet result = new DataSet();
result = new Class1().hsggetdata(sql);
if (result != null)
{

if (result.Tables[0].Rows.Count > 0)
{
DataGrid1.DataSource = result.Tables[0];
DataGrid1.DataBind();
Label1.Text = "以上数据中共" + result.Tables[0].Rows.Count + "条";
}
else
{
DataGrid1.DataSource = null;
DataGrid1.DataBind();
Label1.Text = "暂无任何数据";
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string sql;
sql = "select * from goumaijilu where goumairen ='" + Session["temp"].ToString().Trim() + "'";
if (bianhao.Text.ToString().Trim() != "") { sql = sql + " and bianhao like '%" + bianhao.Text.ToString().Trim() + "%'"; }
if (mingcheng.Text.ToString().Trim() != "") { sql = sql + " and mingcheng like '%" + mingcheng.Text.ToString().Trim() + "%'"; }
sql = sql + " order by id desc";

getdata(sql);
}

protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
string sql;
sql = "select * from goumaijilu where goumairen ='" + Session["temp"].ToString().Trim() + "' order by id desc";
getdata(sql);
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}
public string riqigeshi(object str)
{
string strTmp = str.ToString();
DateTime dt = Convert.ToDateTime(strTmp);
string ss = dt.ToShortDateString();
return ss;

}
}




上面是我找到的一个购物车(代码学习用,不是很懂,是不是根据mingcheng这个相同字段做个判断,然后购买数量+1,库存数量-1),但是在运行时候,发现相同商品添加到购物车后单独生成一个ID,而我希望相同商品添加进去后,直接数量+1,小弟不才,求指导,希望能在源代码的基础上帮我添加进去新代码。

数据表
序号 字段名称 字段类型 大小 允许为空 最大长度
1 ID Int 4 自增编号 10
2 bianhao VarChar 50 是 255
3 mingcheng VarChar 50 是 255
4 jiage VarChar 50 是 255
5 goumaishuliang VarChar 50 是 255
6 beizhu VarChar 50 是 255
7 goumairen VarChar 50 是 255
8 addtime DateTime 8 是 23


数量添加后,价格相应改变。 这是前台 购物车,用户登录后,有一个用户后台,对购物车进行结算,生成订单。

上面代码修改后,别的地方是否需要修改。。。





http://www.cnblogs.com/Ferry/archive/2010/08/02/1790214.html 实例基于ASP.NET3.5使用Session实现购物车功能,数据库使用SqlServer2005。

...全文
354 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mahw18 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

问题出在,你购物车,里面,没有匹配,是那个用户购买的字段,添加这个一个字段,匹配会员表用户名,添加的时候,查询购物车表,匹配对于的购物信息。
[/Quote]
有哪个用户购买的字段,goumairen这个字段,在未登录前,这个字段根据时间生成的,登录后有用户名。但是根据时间生成的话,应该不好匹配了吧?
mahw18 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

问题出在,你购物车,里面,没有匹配,是那个用户购买的字段,添加这个一个字段,匹配会员表用户名,添加的时候,查询购物车表,匹配对于的购物信息。
[/Quote]
有哪个用户购买的字段,goumairen这个字段,在未登录前,这个字段根据时间生成的,登录后有用户名。但是根据时间生成的话,应该不好匹配了吧?
mahw18 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

那显示的时候就按照一些信心去找啊,找到的数据,如果相同就group by 字段,显示一个总的数量,或者就同种商品有几条记录就显示几条,这样呢也行的。
[/Quote]

但是数据表 显示的历史记录,只有通过重新建表,才能去找目前购物车的数据了吧
anzhiqiang_touzi 2012-04-17
  • 打赏
  • 举报
回复
问题出在,你购物车,里面,没有匹配,是那个用户购买的字段,添加这个一个字段,匹配会员表用户名,添加的时候,查询购物车表,匹配对于的购物信息。
风飘扬 2012-04-17
  • 打赏
  • 举报
回复
往购物车添加商品时,根据购买人和商品的编号或名称查找该用户购物车是否已存在该商品,存在则数量累计,不存在则添加新数据。页面显示局部刷新下就可以了。
chen_ya_ping 2012-04-17
  • 打赏
  • 举报
回复
那显示的时候就按照一些信心去找啊,找到的数据,如果相同就group by 字段,显示一个总的数量,或者就同种商品有几条记录就显示几条,这样呢也行的。
tan598121925 2012-04-17
  • 打赏
  • 举报
回复
数量添加价格跟着变?
Enterprise 2012-04-17
  • 打赏
  • 举报
回复
问题出在,你购物车,里面,没有匹配,是那个用户购买的字段,添加这个一个字段,匹配会员表用户名,添加的时候,查询购物车表,匹配对于的购物信息。
我就是大神 2012-04-17
  • 打赏
  • 举报
回复
购物车应该是根据登陆的用户名来保存,或未登录时应该根据ip地址啥的生成一个名。按你那字段应该是购买人。。不过一般是存用户id,设外键和用户表联系。
mahw18 2012-04-17
  • 打赏
  • 举报
回复
数据库里面 就一张 购买记录的表,所有添加过购物车的商品,都记录在这个 购买记录表里面,如果改程序,用mingcheng去匹配 表里的数据,肯定会有相同的,以前的数据也一同比较,看来,这个不能改了。不然改动太大了。
mahw18 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

自问自答?
[/Quote]

ID是自动添加的,做一个if判断后,相同商品可以到同一个ID里?
mahw18 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

自问自答?
[/Quote]
我想要对我的源代码的直接修改~~~主要有点急,,,自己改改不太会~~~
天府荣城 2012-04-17
  • 打赏
  • 举报
回复
自问自答?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧