基于ASP.NET的家居建材选购系统
作者:互联网
网站运行录像 在这里 链接:https://pan.baidu.com/s/12NZ9BM8G3TcAl3uWqO01iw
提取码:z6u4
复制这段内容后打开百度网盘手机App,操作更方便哦
可以下载观看。
1 数据库设计
- 管理员表(f_admin)
- 订单明细表(f_order_detail)
- 订单表(f_orders)
- 留言表(f_say)
- 家居建材信息表(f_shopping)
- 会员表(f_users)
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 说明 |
1 | f_ad_id | int | 4 | 0 | 是 | 是 | 否 | ID |
2 | f_ad_name | varchar | 50 | 0 | 是 | 管理员名称 | ||
3 | f_ad_pass | varchar | 50 | 0 | 是 | 密码 | ||
4 | f_ad_role | varchar | 50 | 0 | 是 | 角色 |
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 说明 |
1 | f_od_id | int | 4 | 0 | 是 | 是 | 否 | ID |
2 | f_or_id | int | 4 | 0 | 是 | 订单编号 | ||
3 | f_sp_id | int | 4 | 0 | 是 | 家居编号 | ||
4 | f_od_count | int | 4 | 0 | 是 | 金额 |
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 说明 |
1 | f_or_id | int | 4 | 0 | 是 | 是 | 否 | 编号 |
2 | f_or_name | varchar | 100 | 0 | 是 | 名称 | ||
3 | f_or_time | varchar | 100 | 0 | 是 | 下单时间 | ||
4 | f_or_money | float | 8 | 0 | 是 | 金额 | ||
5 | f_or_man | varchar | 50 | 0 | 是 | 收货人 | ||
6 | f_or_adress | varchar | 500 | 0 | 是 | 收货地址 | ||
7 | f_or_zhuangtai | int | 4 | 0 | 是 | 状态 | ||
8 | f_us_id | int | 4 | 0 | 是 | 用户编号 | ||
9 | f_sp_id | int | 4 | 0 | 是 | 家居编号 |
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 说明 |
1 | f_sa_id | int | 4 | 0 | 是 | 是 | 否 | 序号 |
2 | f_sa_name | varchar | 100 | 0 | 是 | 发言人 | ||
3 | f_sa_title | varchar | 100 | 0 | 是 | 标题 | ||
4 | f_sa_text | text | 16 | 0 | 是 | 内容 | ||
5 | f_sa_time | varchar | 100 | 0 | 是 | 时间 | ||
6 | f_st_id | int | 4 | 0 | 是 | 留言类型 |
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 说明 |
1 | f_sp_id | int | 4 | 0 | 是 | 是 | 否 | 编号 |
2 | f_sp_name | varchar | 100 | 0 | 是 | 名称 | ||
3 | f_sp_time | varchar | 100 | 0 | 是 | 存库时间 | ||
4 | f_sp_img | varchar | 100 | 0 | 是 | 图片 | ||
5 | f_sp_yprice | float | 8 | 0 | 是 | 家居价格 | ||
6 | f_sp_xprice | float | 8 | 0 | 是 | 市面价格 | ||
7 | f_sp_renqi | bigint | 8 | 0 | 是 | 人气 | ||
8 | f_sp_display | int | 4 | 0 | 是 | 推荐 | ||
9 | f_sst_id | int | 4 | 0 | 是 | 类型id |
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 说明 |
1 | f_us_id | int | 4 | 0 | 是 | 是 | 否 | 用户编号 |
2 | f_us_name | varchar | 50 | 0 | 是 | 账户 | ||
3 | f_us_realname | varchar | 50 | 0 | 是 | 真是姓名 | ||
4 | f_us_pass | varchar | 50 | 0 | 是 | 密码 | ||
5 | f_us_sex | varchar | 20 | 0 | 是 | 性别 | ||
6 | f_us_age | int | 4 | 0 | 是 | 年龄 | ||
7 | f_us_adress | varchar | 200 | 0 | 是 | 地址 | ||
8 | f_us_QQ | int | 4 | 0 | 是 | | ||
9 | f_us_phone | varchar | 50 | 0 | 是 | 电话 | ||
10 | f_us_email | varchar | 100 | 0 | 是 | 电子邮件 | ||
11 | f_us_jf | bigint | 8 | 0 | 是 | 是否在线 | ||
12 | f_us_toux | varchar | 200 | 0 | 是 | 安全问题 |
2 输入输出设计
(1)修改密码
a.数据输入:新密码和新密码确认。
b.数据输出:修改成功或修改失败。
(2)会员维护
a.数据输入:会员的相关信息。
b.数据输出:维护成功或失败。
(3)留言列表管理
a.数据输入:会员的留言信息
b.数据输出:增加,修改,删除和查询成功或失败。
(4)皮草分类维护
a.数据输入:皮草的相关信息。
b.数据输出:维护成功或失败。
(5)商品信息维护
a.数据输入:商品信息。
b.数据输出:维护成功或失败。
(6)商品批量打折
a.数据输入:输入需要打折的商品和折扣
b.数据输出:打折成功或失败。
(7)订单审核
a.数据输入:会员订单的相关信息。
b.数据输出:审核成功或失败。
2 会员模块
(1)我的购物车
a.数据输入:购物车订单信息。
b.数据输出:查看成功或失败。
(2)密码修改
a.数据输入:原密码和新密码。
b.数据输出:修改成功或失败。
(3)订单管理
a.数据输入:需要查询的订单信息。
b.数据输出:查询成功或失败。
(4)我要留言
a.数据输入:需要查看的留言信息。
b.数据输出:查询成功或失败。
3.1系统主界面介绍
在IE里运行本系统,出现系统的主界面,包括登陆、家居类别、家居信息显示列表三大模块。如图:
首页
核心代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
shoptypebid();
shopbid1();
shopbid2();
rexiaobid();
}
if(Session["names"]!=null)
{
string un = Session["names"].ToString();
if (un != "")
{
Label5.Text = BLL.F_usersBLL.selectrnamebyname(un) + ",回来";
this.Label3.Visible = false;
this.Label4.Visible = false;
}
}
if(Session["shop"]==null)
{
List<ShoppingcartDM> lm = new List<ShoppingcartDM>();
}
else if(Session["shop"]!=null)
{
ShoppingcartDM sm = new ShoppingcartDM();
List<ShoppingcartDM> lm;
lm = (List<ShoppingcartDM>)Session["shop"];
int j = 0;
float jq = 0;
for (int i = 0; i < lm.Count;i++ )
{
j += lm[i].Count;
jq += lm[i].Xprice * lm[i].Count;
}
Label1.Text = j.ToString();
Label2.Text = jq.ToString();
}
}
private void rexiaobid()
{
DataTable dt = BLL.F_shoppingBLL.selectallbytuijian(3+"");
Repeater8.DataSource = dt;
Repeater8.DataBind();
}
private void shopbid1()
{
DataTable dt = BLL.F_shoppingBLL.selectallbytuijian(1+"");
Repeater3.DataSource = dt;
Repeater3.DataBind();
}
private void shopbid2()
{
DataTable dt = BLL.F_shoppingBLL.selectallbytuijian(2+"");
Repeater4.DataSource = dt;
Repeater4.DataBind();
}
private void shoptypebid()
{
DataTable dt= BLL.F_shopbigtypeBLL.queryshopbigtype();
Repeater2.DataSource = dt;
Repeater2.DataBind();
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
}
protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Repeater re1 = (Repeater)e.Item.FindControl("Repeater1");
string id= ((System.Data.DataRowView)e.Item.DataItem)["f_sbt_id"].ToString();
DataTable dt = BLL.F_shopsmalltypeBLL.selectf_shopsmalltypebytype(id);
re1.DataSource = dt;
re1.DataBind();
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string likes = TextBox1.Text;
Response.Redirect("shoppinglikes.aspx?name="+likes);
}
3.2 家居建材信息维护
此模块主要是对家居建材信息的维护。展示信息列表,可以添加 修改和删除家居建材信息。如图:
家居信息列表界面
编辑页面
核心代码如下:
private void fenybid(int y)
{
int pr = 20;//定义每页行数
int pc;//pc总页数
DataTable dt = SqlDBUtil.SqlDBUtil.executeGetshoppingfy(pr,y,out pc);
bidHref(pc);
if (y < 1) { y = 1; }
else if (y > pc) { y = pc; }
Label1.Text = y.ToString();
Label2.Text = pc.ToString();
GridView1.DataSource = dt;
GridView1.DataBind();
}
private void bidHref(int pc)
{
Label3.Text = "";
for (int i = 1; i <= pc; i++)
{
Label3.Text += "<a href='showshop_h.aspx?y=" + i + "'>" + i + "</a> ";
}
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
int y = int.Parse(Label1.Text);
y--;
fenybid(y);
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
int y = int.Parse(Label1.Text);
y++;
fenybid(y);
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
int i = e.NewEditIndex;//获得编辑列的索引
GridView1.EditIndex = i;//让选中的行处于编辑状态
string s= GridView1.Rows[i].Cells[0].Text;
i = Convert.ToInt32(s);
i = (i + 21) / 20;
fenybid(i);
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
int i = e.RowIndex;
GridView1.EditIndex = -1;//取消编辑状态
string s = GridView1.Rows[i].Cells[0].Text;
i = Convert.ToInt32(s);
i = (i + 21) / 20;
fenybid(i);
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int i = e.RowIndex;
string id = GridView1.Rows[i].Cells[0].Text;
string sql = "delete from f_shopping where f_sp_id="+id;
SqlDBUtil.SqlDBUtil.NonQuery(sql);
fenybid(1);
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int i = e.RowIndex;
string id = GridView1.Rows[i].Cells[0].Text;
string name = ((TextBox)GridView1.Rows[i].Cells[1].Controls[0]).Text;
string time = ((TextBox)GridView1.Rows[i].Cells[2].Controls[0]).Text;
string yprice = ((TextBox)GridView1.Rows[i].Cells[4].Controls[0]).Text;
string xprice = ((TextBox)GridView1.Rows[i].Cells[5].Controls[0]).Text;
string renqi = ((TextBox)GridView1.Rows[i].Cells[6].Controls[0]).Text;
string tuijian = ((TextBox)GridView1.Rows[i].Cells[7].Controls[0]).Text;
string fid = ((TextBox)GridView1.Rows[i].Cells[8].Controls[0]).Text;
string sql = "update f_shopping set f_sp_name='"+name+"',f_sp_time='"+time+"',f_sp_yprice='"+yprice+"',f_sp_xprice='"+xprice+"',f_sp_renqi='"+renqi+"',f_sp_display='"+tuijian+"',f_sst_id='"+fid+"' where f_sp_id="+id;
SqlDBUtil.SqlDBUtil.NonQuery(sql);
}
3.3 订单中心
此模块可以查看定购家居建材户信息,及该用户定购家居建材的详细信息,可以删除不符合要求订单信息。如图:
订单信息管理
核心代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//shopbid();
if (Request.QueryString["y"] == null)
{
fenybid(1);
}
else
{
string yy = Request.QueryString["y"];
int y = int.Parse(yy);
fenybid(y);
}
}
}
private void fenybid(int y)
{
int pr = 20;//定义每页行数
int pc;//pc总页数
DataTable dt = SqlDBUtil.SqlDBUtil.executeGetf_ordersfy(pr,y,out pc);
bidHref(pc);
if (y < 1) { y = 1; }
else if (y > pc) { y = pc; }
Label1.Text = y.ToString();
Label2.Text = pc.ToString();
GridView1.DataSource = dt;
GridView1.DataBind();
}
private void bidHref(int pc)
{
Label3.Text = "";
for (int i = 1; i <= pc; i++)
{
Label3.Text += "<a href='order_h.aspx?y=" + i + "'>" + i + "</a> ";
}
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
int y = int.Parse(Label1.Text);
y--;
fenybid(y);
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
int y = int.Parse(Label1.Text);
y++;
fenybid(y);
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
int i = e.NewEditIndex;//获得编辑列的索引
GridView1.EditIndex = i;//让选中的行处于编辑状态
string s = GridView1.Rows[i].Cells[0].Text;
i = Convert.ToInt32(s);
i = (i + 21) / 20;
fenybid(i);
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
int i = e.RowIndex;
GridView1.EditIndex = -1;//取消编辑状态
string s = GridView1.Rows[i].Cells[0].Text;
i = Convert.ToInt32(s);
i = (i + 21) / 20;
fenybid(i);
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int i = e.RowIndex;
string id = GridView1.Rows[i].Cells[0].Text;
string sql = "delete from f_orders where f_or_id=" + id;
SqlDBUtil.SqlDBUtil.NonQuery(sql);
fenybid(1);
}
}
3.4 用户注册页面
此模块主要是提供新用户信息注册。用户注册信息时,判断帐号,真实姓名是否为空,输入的密码和确认密码是否一致。然后输入密码、确认密码、联系电话、家庭地址、出生日期等,注册和返回操作。如图:
用户注册
核心代码如下:
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
string un = TextBox1.Text;
string uu= BLL.F_usersBLL.countbyname(un);
if (uu.Equals("you"))
{
Label2.Text = "<script type='text/javascript'>alert('该帐户已经存在!');location.herf='register.aspx';</script>";
}
else
{
string run = TextBox2.Text;
if (run.Equals(""))
{
Label2.Text ="<script type='text/javascript'>alert('真实姓名不能为空!');</script>";
TextBox2.Focus();
}
else
{
string up = id3e8_9.Text;
if (up.Equals(""))
{
Label2.Text ="<script type='text/javascript'>alert('密码不能为空!');</script>";
id3e8_9.Focus();
}
else
{
string sex = "男";
if (RadioButton2.Checked)
{
sex = "女";
}
string age = TextBox5.Text;
if(age.Equals(""))
{
Label2.Text ="<script type='text/javascript'>alert('年龄不能为空!');</script>";
TextBox5.Focus();
}
else
{
string adress = TextBox6.Text;
if (adress.Equals(""))
{
Label2.Text ="<script type='text/javascript'>alert('地址不能为空!');</script>";
TextBox6.Focus();
}
else
{
string QQ = TextBox7.Text;
if (QQ.Equals(""))
{
Label2.Text ="<script type='text/javascript'>alert('QQ不能为空!');</script>";
TextBox7.Focus();
}
else
{
string phone = TextBox8.Text;
if (phone.Equals(""))
{
Label2.Text ="<script type='text/javascript'>alert('电话号码不能为空!');</script>";
TextBox8.Focus();
}
else
{
string email = TextBox9.Text;
if (email.Equals(""))
{
Label2.Text ="<script type='text/javascript'>alert('Email不能为空!');</script>";
TextBox9.Focus();
}
else
{
string img = "";
string renqi = 0 + "";//5|1|a|s|p|x
string jb = 1 + "";
string s = BLL.F_usersBLL.addusers(un, run, up, sex, age, adress, QQ, phone, email, renqi, img, jb);
if (s.Equals("tologin"))
{
Response.Write("<script type='text/javascript'>alert('注册成功!');location.href='login.aspx';</script>");
}
else
{
Response.Redirect("error.aspx");
}
}
}
}
}
}
}
}
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
string un = TextBox1.Text;
string uu = BLL.F_usersBLL.countbyname(un);
if (uu.Equals("you"))
{
Label1.Text = "该用户已经存在!";
}
else
{
Label1.Text = "恭喜您可以注册!";
}
};
3.5 购物车
此模块显示已经选择完但未生成订单的信息列表,显示此次购物的总数量和总金额。可以对其生成定单,删除操作。如图:
购物车
核心代码如下:
public string aa=" ";
private void bid()
{
List<ShoppingcartDM> lm=(List<ShoppingcartDM>)Session["shop"];
Repeater1.DataSource = lm;
Repeater1.DataBind();
float allprice=0;
float allyprice=0;
for (int i = 0; i < lm.Count;i++ )
{
allprice += lm[i].Xprice * lm[i].Count;
allyprice +=lm[i].Yprice*lm[i].Count;
aa = (lm[i].Xprice * lm[i].Count).ToString();
}
Label5.Text = allprice.ToString();
Label6.Text = allyprice.ToString();
float cj = allyprice - allprice;
Label7.Text = cj.ToString();
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
int id = e.Item.ItemIndex;
//得到所选行下标
string names = e.CommandName;
if (names.Equals("del"))
{
List<ShoppingcartDM> ls = (List<ShoppingcartDM>)Session["shop"];
ls.RemoveAt(id);
Session["shop"] = ls;
bid();
}
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("index.aspx");
}
protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
{
Panel1.Visible = true;
string names = Session["names"].ToString();
Label2.Text = names;
// DataTable dt= BLL.F_ordersBLL.selectallbyman(names);
// Label1.Text = dt.Rows[0][0].ToString();
// Label3.Text = dt.Rows[0][10].ToString();
// Label4.Text = names+"的订单";
// Label8.Text = System.DateTime.Now.ToString();
// Label9.Text = Label5.Text;
//int ss=Convert.ToInt32 (dt.Rows[0][6]);
//string zt="审批中...";
//if(ss==1)
//{
// zt="发货中...";
//}
//Label10.Text = zt;
//TextBox1.Text = dt.Rows[0][4].ToString();
//TextBox2.Text = dt.Rows[0][5].ToString();
//TextBox3.Text = dt.Rows[0][8].ToString();
//TextBox4.Text = dt.Rows[0][9].ToString();
string idd = BLL.F_usersBLL.selectidbyname(names);
F_usersDM fm = BLL.F_usersBLL.getoneuser(idd);
TextBox1.Text = fm.F_us_realname;
TextBox2.Text = fm.F_us_adress;
TextBox3.Text = fm.F_us_phone;
TextBox4.Text = fm.F_us_email;
}
protected void Button3_Click(object sender, EventArgs e)
{
List<ShoppingcartDM> lm=(List<ShoppingcartDM>)Session["shop"];
string zh=Label2.Text;
string oname = Label2.Text+"的订单";
string times=System.DateTime.Now.ToString();
string lman = TextBox1.Text;
string adress = TextBox2.Text;
for (int i = 0; i < lm.Count;i++ )
{
string price = lm[i].F_sp_xiaoji.ToString();
string uid = BLL.F_usersBLL.selectidbyname(zh);
string sid = lm[i].Sid.ToString();
BLL.F_ordersBLL.addorders(oname, times, price, lman, adress, 0 + "", uid, sid);
}
Session["shop"] = null;
Response.Write("<script type='text/javascript'>alert('您的申请我们已经收到,我们会尽快和您取得联系!');location.href='index.aspx';</script>");
}
3.6 用户订单
此模块是用户将购物车里面的家居生成订单给管理员,如图:
用户订单
核心代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
rp1bid();
}
}
private void rp1bid()
{
DataTable dt = BLL.F_ordersBLL.queryorders();
Repeater1.DataSource = dt;
Repeater1.DataBind();
Repeater2.DataSource = dt;
Repeater2.DataBind();
}
有了以上的表,就不难做出这个网站了。如果有其他用途...比如用它交作业的话,基本上是没问题的。如果要做毕业设计的话,在
完善完善应该也差不多啦。
如果想要下载完整源代码可以联系我 qq:2804035105
wx:15289469942。
标签:ASP,string,int,Text,void,选购,GridView1,NET,id 来源: https://blog.csdn.net/qq_53319719/article/details/122558131