基于ASP.NET的网上书店设计与实现
- 格式:pdf
- 大小:215.57 KB
- 文档页数:4
… _Ⅲ … ‘…|; J J ‘ ’ ’J
实用第一 智慧密集
L — 、¨ H… , , r _
基于ASP.NET的网上书店设计与实现
李志云
摘 要:网上购物现在越来越普及,网上书店也大量涌现。基于ASP.NET技术,给出了网上书店
系统的设计与实现。
关键词:网上书店;ASP.NET编程;C#语言
1 引言
随着网络的普及.网上书店越来越成为人们购书的重要渠
道。通过网上书店可以在网上进行图书展示和销售。文中给出了
一个小型网上书店的设计与实现。图l是该系统运行时的首页。
2 开发环境 图1 系统运行界面
Windows7+Visual Studio2008+SQL Server2005 Express。
3后台数据库结构
该网站后台数据库采用SQL Server2005 Express,数据库
名称:网上书店。数据库中包括8个数据表:图书表、图书
类型表、购物车表、订单表、详细订单表、会员表、新闻表和
管理员表。图2一图9是这些表的结构。
(1)图书表:用于保存所有图书信息,其结构如图2所示。
《 _bo 自 m №Ⅻ “ 一 # ≈ 舾书目 嘶' ㈣ 自 … 捧 ㈤ d II E∞ t 车鼎^ t蝌 蜥 时' Ⅻ #每d 目礴 口 f 鼹片 £科
图2图书表结构
64电 与雄 (2)图书类型表:用于保存图书类型信息,其结构如图3
所示。
霸 dI 璃 黉濑袅 嘲 列轱 数擂粪裂 允许空 婚 嚣魏 由拼{ 尝裂名 小 (∞) 棼
图3图书类型表结构
(3)购物车表:用于保存购物车中的图书信息,其结构如
图4所示。
襄 dh 髂梅卑霸 目啤 列稿 谁 臻| 会员名 暖书}崭母 救黧
图4购物车表结构
(4)订单表:用于保存提交的订单信息,
褒一d 汀瓣壤_ 刊稿 歉据赛型 婚订晕}蒜避 t - 会费离 心 《 订单秘期dare,he 发赞艿拭毋 牡o) 埘稚 拭小 e2。j 船盘龋 协 t 燕番麓赞 帆 餐注 n诞 t 允许空
其结构如图5所示。
允i苹奎
|。l
巍
鐾
I=¨
图5订单表结构
(5)详细订单表:用于保存订单的图书信息,其结构如图
6所示。
箍‘db 递蜘 雌鞋 瞩 刊鲁 锻掘粪掰 允许空 彝嚣 潞 台燕名 ( : 8}棚鸯 数霹
图6
详细订单表结构 一N盯WORK&COMMUNIC盯ION… … … r…………… ……………一……… …一 ……-一 一
(6)会员表:用于保存注册会员的信息,其结构如图7所示。 5 在配置文件中设置到后台数据库的连接
寝。db瓴套叠寝i l 酬l鲁 }雷鬻甄 密稿 姓名 性别 出生目苴丹 赣幕地i吐 联累电话 手帆 螂双蛹码 身份证号 热捕粪鬻 她许窑 char{:≈ 董 (3∞ =h葶(瓣} ch ̄K2) d 馋鼬砖 -
cf’ (j≈ 黧 (1 鬻 临) d (i8》 戮
图7会员表结构
(7)新闻表:用于保存图书新闻信息,其结构如图8所示。
-裘 dboJIf ̄ffiZ 州辐 赫搪囊爱 托谗空 呐 髭溪 强 ; 标题舶 ) 内窨 ntext 识 时商 da碑抽
图8新闻表结构
(8)管理员表:用于后台管理人员的信息,其结构如图9
所示。
鞲 dbo萤瑶鹰囊 剥名 鼎撼尝掣 她许空 硝《i船 0 《黜 霉 裔码嘶 (锄 馥 投障 int 霹
图9管理员表结构
4网站的文件夹结构
网站的文件夹结构如图10所示。
;谲4囊弼馘蚝 稿|稚 巍 。|氟嚣警 ; 馥 0 n惑 蔼 。 l 螭们赢 。 h。 扭々曝骱 ・_、v1.‘I Studio o8、曲 甜・・p、 0 ̄tp@Code 馏[瞎c A@p 碡a App.Th ̄mcs image n、4 q * 翻^dd8o以d m强admit 。 d。 +囊d“j。f .a‘ * D#f4u 4sp edltBook.aspx 5-) M ,” 9 m4# f h80ok " §…fc Ed ^獬 m 0 upd时e8o0k4#p 国bo0 酏 a‘p - * b0 州 § p 国∞“肫抛 Oef ̄t・ n 0 rro,一 51 ̄bal一口‘a 嚣M{ 时 9e r怕s r iii' 0 d口 4‘p 蔓a 0 d a 童强 ̄eg;sterasp 奇j0 h0 口‘p 盘Web脚商g
图10网站的文件结构 在网站配置文件web.config的<appSettings>eli中添加如下
代码:
<appSettings> <add key=”con”value=“server=.\sqIexpress;database:网上书
店;integrated security=sspi。l/>
</appSettings>
6数据库操作公共类设计
公共类存在于App—Code文件夹中,类文件名称:DB.CS。
代码如下:
public class DB
{ public SqlConnection Con=new SqlConnection():∥仓0建连
∥接对象
public SqlCommand Com=new SqlCommandO;// ̄lj建命
I冷对象
public SqlDataAdapter Da=new SqIDataAdapter();//创建
//适配器对象
public DataSet Ds=new DataSet();//l ̄j建数据集对象
//定义一个用于返回数据库连接字符串的方法
public String GetCOnnectionSt ring()
{
String ConStr;
ConStr=System.Configuration.ConfigurationManager. AppSettings.Get(O) ToString0;
return ConStr;
) ∥定义一个用于返回数据集的公共查询方法
public DataSet GetDataTableBySql(String SqlStr)
//返回数据集
f
Con.ConnectiOnString I--GetConnectionString(): Com.Connection=Con;
Com.CommandText=SqlStr;
Da.SelectCommand=Com;
trv {
Ds.Clear();
Con.Open();
Da.Fill(Ds);
Con.Close();
)
catch(SqlException)
I
Con.Close();
)
return Ds; )
奠缝
65 rc ’{{ ‘ ‘ -l ‘‘ J J ‘ 。 实用第一 智慧密集
……. . …. . . … ,
//定义一个用于返回执行数据更新操作是否成功标志的方法
public Boolean UpdateDataBySql(String SqlStr)
{
Con.COnnect{onString=GetConnect onSt ring():
Com.Connection=Con;
Com.CommandText=SqlStr;
trv {
Con.Open();
Com.ExecuteNonQuery0;
Con.Close();
return true; )
catch(SqlException)
{
Con.Close(); return false;
)
)
7 网站前台页面的母版页设计
网站中的其他页面基本都是依托母版页来实现的。图l1
是前台页面的母版页界面。
图11前台页面母版
该母版页采用表格布局。后台C#代码如下:
String SqlStr;//创建字符串变量
DB db=new DB();//I ̄IJ建类的对象
DataSet Ds=new DataSet0;//1 ̄U建数据集对象
protected void btnLogin—Click(object sender,EventArgs e)
{ String Md5一User_Pwd=FormsAuthentication
HashPasswordForStoringlnConfigFile《this.txtPassword.Text ToString0, MD5。l://作为密码方式加密
SqlStr: select from会员表where会员名= 4-this
txtUsername.Text+ and密码= +Md5一User_Pwd+“ :
Ds=db.GetDataTableBySql(SqlStr);
trv
{
66l_肆她20妇1穗3.建09圬与罐 } if(Ds.Tables[0].Rows.Count==0)
{ this.Labinfo.Text=“用户名或密码错误,请重试! ;
this.txtUsername.Focus();
)
else
(
this.Labinfo.Text=“用户”4-this.txtUsername. Text 4-“恭喜您登录成功! :
Session[ Username“】=this.txtUsername.Text;
//保存用户名到SESSION对象中
)
)
catch(Exception)
{ this.Labinfo.Text=”没有得到任何数据,请重试!Il:
)
)
protected void btnRegister_Click(object sender,EventArgs
e)
{
Response.Redirect(“Register.aspx“):
)
8后台管理登录页面设计
图12是后台用户登录时的页面。
嘲上书店后台入诤
ii Ⅸ”■m *
图12管理登录页面
其中登录按钮的代码如下:
String Md5-User_Pwd=FormsAuthentication.
HashPasswordForStoringlnConfigFile(this.txtPassword.Text. ToString0,”MD5”):,/作为密码方式加密
SqlStr:”select from管理员表where用户名= 4-this.
txtUsername.Text-I-“ and密码= 。-I-Md5_User_Pwd+…:
ds=db.GetDataTableBySql(SqlStr);
trv
{
if(ds.Tables[0].Rows.Count==0)
{ Response.Write(”<script>alert( 用户名或密码错
误,请重试f )</script>“):
this.txtUsername.Focus();
)
else
{
Session【 AdminUsername”】=this.txtUsername.
Text; 一 一 一 一 一