摘要
近几年,随着互联网信息技术的迅速发展,电子商务已经普及,人们已经习惯性的通过网上进行在线搜索、查询并购买各类商品。随着电子商务的迅速发展,图书销售行业已加入到电商行列,传统的图书销售经营模式已经有一定局限性,而网上销售不仅可以大大节约成本、时间等,而且还便于图书及订单管理等。因此,我选择利用Internet新技术, 采用ASP.NET技术和SQL SERVER 2008 数据库作为工具开发这款图书销售网站系统,可以方便各类用户通过本网站可在线进行图书的管理,设计用户登录验证方式登录网站,保障用户操作的安全性。
本系统主要分为前台和后台两大部分,前台实现用户注册、登录,在线搜索、查看、购买并在线支付、提交订单、订单管理、评价等功能。后台则实现管理员对前台用户信息、新闻信息、图书类别及图书信息、订单信息及系统信息的管理。
目录
功能结构图
代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data;
using System.Data.SqlClient;
public partial class news : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
showInfo();
bind();
}
}
protected void showInfo()
{
//判断是否传递id
if (Request.QueryString["id"] != null)
{
//根据编号得到相应的记录
SqlDataReader sdr = DbHelperSQL.ExecuteReader("select * from news where nid=" + Request.QueryString["id"]);
if (sdr.Read())
{
lbtitle.Text = sdr["title"].ToString();
lbaddtime.Text = sdr["addtime"].ToString();
lbmemo.Text = sdr["memo"].ToString();
}
}
}
/// <summary>
/// 绑定数据
/// </summary>
protected void bind()
{
DataPage dp = new DataPage();
string where = " nid=" + Request.QueryString["id"];
int recordcount;
int pagesize = this.AspNetPager1.PageSize;
int pageindex = this.AspNetPager1.CurrentPageIndex;
Repeater1.DataSource = dp.pagelist(pagesize, pageindex, "newsCommnet ", " * ", "id", where, "id desc", out recordcount);
Repeater1.DataBind();
AspNetPager1.RecordCount = recordcount;
}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
bind();
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (Session["userLname"] == null)
{
MessageBox.Show(this, "请先登录后再进行此操作");
return;
}
//设置Sql
StringBuilder strSql = new StringBuilder();
strSql.Append(@"insert into NewsCommnet ( nid,lname,pingl,pdate ) ");
strSql.Append(@" values (@nid,@lname,@pingl,@pdate)");
//设置参数
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@nid", SqlDbType.Int,4),
new SqlParameter("@lname", SqlDbType.VarChar,50),
new SqlParameter("@pingl", SqlDbType.VarChar,500),
new SqlParameter("@pdate", SqlDbType.DateTime,8) };
parameters[0].Value = Request.QueryString["id"];
parameters[1].Value = Session["userLname"].ToString();
parameters[2].Value = txt_memo.Text;
parameters[3].Value = DateTime.Now;
//提交到数据库
DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
txt_memo.Text = "";
bind();
btnSave.Focus();
MessageBox.Show(this, "评论成功!");
}
}
图书编辑代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data.SqlClient;
using System.Data;
public partial class books_Edit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//初始化图书
chushi();
}
}
/// <summary>
/// 初始化图书
/// </summary>
protected void chushi()
{
ddltid.DataSource = DbHelperSQL.Query("select tid,tname from bType");
ddltid.DataTextField = "tname";
ddltid.DataValueField = "tid";
ddltid.DataBind();
StringBuilder strSql = new StringBuilder();
strSql.Append(@"select * from books where bid=" + Request.QueryString["id"] );
//根据编号得到相应的记录
DataSet ds = DbHelperSQL.Query(strSql.ToString());
if (ds.Tables[0].Rows.Count > 0)
{
txt_bname.Text = ds.Tables[0].Rows[0]["bname"].ToString();
ddltid.SelectedValue=ds.Tables[0].Rows[0]["tid"].ToString();
txt_author.Text = ds.Tables[0].Rows[0]["author"].ToString();
txt_isbn.Text = ds.Tables[0].Rows[0]["isbn"].ToString();
txt_pubs.Text = ds.Tables[0].Rows[0]["pubs"].ToString();
Labelpic.Text = ds.Tables[0].Rows[0]["pic"].ToString();
if (Labelpic.Text != "" && Labelpic.Text.Length > 3)
{
Imagepic.ImageUrl = "../../uploads/" + Labelpic.Text;
Imagepic.Visible = true;
}
txt_price.Text = ds.Tables[0].Rows[0]["price"].ToString();
txt_quan.Text = ds.Tables[0].Rows[0]["quan"].ToString();
Textarea1.Value = ds.Tables[0].Rows[0]["memo"].ToString();
ddlflag.SelectedValue=ds.Tables[0].Rows[0]["flag"].ToString();
}
}
/// <summary>
/// 编辑图书
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
//更新
StringBuilder strSql = new StringBuilder();
strSql.Append("update books set ");
strSql.Append("bname = @bname,");
strSql.Append("tid = @tid,");
strSql.Append("author = @author,");
strSql.Append("isbn = @isbn,");
strSql.Append("pubs = @pubs,");
strSql.Append("pic = @pic,");
strSql.Append("price = @price,");
strSql.Append("quan = @quan,");
strSql.Append("memo = @memo,");
strSql.Append("flag = @flag");
strSql.Append(" where bid=@bid");
int bid = int.Parse(Request.QueryString["id"]);
//设置参数
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@bid", SqlDbType.Int,4),
new SqlParameter("@bname", SqlDbType.VarChar,50),
new SqlParameter("@tid", SqlDbType.Int,4),
new SqlParameter("@author", SqlDbType.VarChar,50),
new SqlParameter("@isbn", SqlDbType.VarChar,50),
new SqlParameter("@pubs", SqlDbType.VarChar,50),
new SqlParameter("@pic", SqlDbType.VarChar,50),
new SqlParameter("@price", SqlDbType.Decimal,9),
new SqlParameter("@quan", SqlDbType.Int,4),
new SqlParameter("@memo", SqlDbType.NText,50000),
new SqlParameter("@flag", SqlDbType.VarChar,50) };
parameters[0].Value =bid;
parameters[1].Value = txt_bname.Text;
parameters[2].Value =ddltid.SelectedValue;
parameters[3].Value = txt_author.Text;
parameters[4].Value = txt_isbn.Text;
parameters[5].Value = txt_pubs.Text;
string addrpic =Labelpic.Text;
if (fppic.HasFile)
{
string name = this.fppic.PostedFile.FileName;
int i = name.LastIndexOf('.');
string extname = name.Substring(i);
string filename = DateTime.Now.ToString("yyyyMMddhhmmssfff");
string path = filename + extname;
string savePath = Server.MapPath(@"..\..\uploads\" + filename + extname);
fppic.PostedFile.SaveAs(savePath);
addrpic = path;
}
parameters[6].Value =addrpic;
parameters[7].Value = txt_price.Text;
parameters[8].Value = txt_quan.Text;
parameters[9].Value =Textarea1.Value;
parameters[10].Value =ddlflag.SelectedValue;
//提交到数据库
DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
MessageBox.ShowAndRedirect(this, "操作成功,请返回!", "Manage.aspx");
}
}