基于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; 一 一 一 一 一