论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP JSP .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > .NET >

A450Asp.Net+Sql购物系统

3.5存储过程的设计

此系统采用基于WEB的B/S三层结构模式来开发:

paper51.com

用户界面层负责处理用户的输入和向用户的输出,但并不负责解释其含义

内容来自www.paper51.com

商业逻辑层是数据的业务层,建立实际的数据库连接根据用户的请求生成sql语句检索或更新数据库,并把结果返回到用户界面层 内容来自论文无忧网 www.paper51.com

数据库层负责实际的数据检索和存储,这层由具体的存储过程在Sql2000里实现 paper51.com

数据库层――存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。总的来说,存储过程具有以下一些优点: ◆存储过程允许标准组件式编程 ◆存储过程能够实现较快的执行速度 ◆存储过程能够减少网络流量 ◆存储过程可被作为一种安全机制来充分利用

copyright paper51.com

例子:

内容来自论文无忧网 www.paper51.com

比如下面的一个存储过程实现功能是――管理员添加商品

copyright paper51.com

CREATE procedure addGoods

paper51.com

( copyright paper51.com

@CateGoryDetailID int, 内容来自www.paper51.com

@modelNumber nvarchar(50), http://www.paper51.com

@modelName nvarchar(50), http://www.paper51.com

@goodsImage nvarchar(50),

paper51.com

@salePrice money, 内容来自www.paper51.com

@goodsDesc nvarchar(4000) paper51.com

)

内容来自论文无忧网 www.paper51.com

as

内容来自论文无忧网 www.paper51.com

insert intogoods(CateGoryDetailID,modelNumber,modelName,goodImage,salePrice,goodDescription) 内容来自论文无忧网 www.paper51.com

values(@CateGoryDetailID,@modelNumber,@modelName,@goodsImage,@salePrice,@goodsDesc) http://www.paper51.com

GO

内容来自论文无忧网 www.paper51.com

比如下面的一个存储过程实现功能是――登陆系统 内容来自www.paper51.com

CREATE PROCEDURE login

http://www.paper51.com

(

内容来自www.paper51.com

@idName varchar(50),

copyright paper51.com

@pwd varchar(50),

paper51.com

@userID int output 内容来自www.paper51.com

) paper51.com

 AS

paper51.com

select @userID=userID 内容来自论文无忧网 www.paper51.com

from Users

内容来自论文无忧网 www.paper51.com

where

copyright paper51.com

idName=@idName

copyright paper51.com

and 内容来自论文无忧网 www.paper51.com

Pwd=@pwd

内容来自www.paper51.com

if @@rowcount<1

http://www.paper51.com

select userID=0

内容来自www.paper51.com

GO

内容来自www.paper51.com

几乎系统所有的于数据库操作都在 Sql2000里面,通过存储过程来实现。

paper51.com

3.6 系统关键代码 内容来自论文无忧网 www.paper51.com

通过一个DBO.CS 类来实现, 里面的代码内容包含解释说明如下

内容来自论文无忧网 www.paper51.com

using System;

paper51.com

using System.Data; copyright paper51.com

using System.Data.SqlClient; 内容来自论文无忧网 www.paper51.com

using System.Data.SqlTypes;

内容来自www.paper51.com

using System.Configuration; 内容来自论文无忧网 www.paper51.com

using System.Web; 内容来自www.paper51.com

using System.Web.UI;

内容来自论文无忧网 www.paper51.com

namespace IStore copyright paper51.com

{ http://www.paper51.com

/// <summary> http://www.paper51.com

/// DBO 的摘要说明。

paper51.com

/// </summary>

paper51.com

public class DBO

copyright paper51.com

内容来自论文无忧网 www.paper51.com

public DBO() 内容来自www.paper51.com

{

copyright paper51.com

} 内容来自论文无忧网 www.paper51.com

/////////////////////////////////返回商品类别函数

copyright paper51.com

public SqlDataReader GetGoodsCategories(int CateGoryID) paper51.com

{ 内容来自www.paper51.com

        SqlConnection myConn=newSqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]); 内容来自www.paper51.com

 SqlCommand cmd=newSqlCommand("uListGoods",myConn);

内容来自www.paper51.com

 cmd.CommandType=CommandType.StoredProcedure;

http://www.paper51.com

     SqlParameterparaCateGoryID=newSqlParameter("@CateGoryID",SqlDbType.Int,4);

copyright paper51.com

 paraCateGoryID.Value=CateGoryID;

paper51.com

cmd.Parameters.Add(paraCateGoryID);

http://www.paper51.com

 myConn.Open();

paper51.com

 SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);

http://www.paper51.com

return dr;

paper51.com

}

http://www.paper51.com

////////////////////////////////返回销量最好的几种商品

paper51.com

public SqlDataReader GetMostSoldGoods()

内容来自www.paper51.com

{ paper51.com

SqlConnectionmyConn=newSqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);

内容来自论文无忧网 www.paper51.com

SqlCommandcmd=newSqlCommand("mostSoldGoods",myConn);

内容来自www.paper51.com

cmd.CommandType=CommandType.StoredProcedure;

内容来自www.paper51.com

myConn.Open();

copyright paper51.com

           SqlDataReader dr=cmd.ExecuteReader(CommandBehavior.CloseConnection); 内容来自论文无忧网 www.paper51.com

        return dr; http://www.paper51.com

  

内容来自论文无忧网 www.paper51.com

} paper51.com

/////////////////////////////////返回指定种类的所有商品

http://www.paper51.com

public DataSet GetGoodsByCate(intcateGoryID) 内容来自www.paper51.com

{

内容来自论文无忧网 www.paper51.com

SqlConnectionmyConn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);

http://www.paper51.com

SqlCommandcmd=newSqlCommand("GetgoodsByCateID",myConn); paper51.com

cmd.CommandType=CommandType.StoredProcedure;

内容来自www.paper51.com

SqlParameterparaCateGoryID=newSqlParameter("@cateGoryID",SqlDbType.Int,4); copyright paper51.com

paraCateGoryID.Value=cateGoryID;

copyright paper51.com

cmd.Parameters.Add(paraCateGoryID); 内容来自论文无忧网 www.paper51.com

myConn.Open(); 内容来自www.paper51.com

SqlDataAdapterda=new SqlDataAdapter();

paper51.com

da.SelectCommand=cmd; http://www.paper51.com

DataSet ds =new DataSet(); copyright paper51.com

da.Fill(ds);

http://www.paper51.com

ds.Tables["Table"].TableName="goods";

copyright paper51.com

return ds;

paper51.com

        } http://www.paper51.com

------分隔线----------------------------
联系方式