IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页网络编程.Net编程 → 在asp.net中使用存储过程

在asp.net中使用存储过程

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  存储过程的定义:

  CREATE procedure pro_buyGoods

  (

  @GoodsName varchar(30),

  @GoodsNum int

  )

  AS

  declare @count as int

  set @count = (select count(*) from T_Goods where GoodsName=@GoodsName)

  if @count<=0 begin

  insert into T_Goods values (@GoodsName,@GoodsNum)

  end

  else begin

  update T_Goods set GoodsNum=GoodsNum+@GoodsNum where GoodsName=@GoodsName

  end

  GO

  说明:语法是通过检查的,这个过程是用来判断T_Goods表中有没有指定的商品,有的话则增加他的数目,没有的话新添加记录。

  这是在ASP.NET中的调用过程:

  int BuyGoodsID = Convert.ToInt32(this.txtBuyID.Text);

  string GoodsName = this.txtGoodsName.Text;

  int GoodsNum = Convert.ToInt32(this.txtGoodsNum.Text);

  int GoodsPrice = Convert.ToInt32(this.txtGoodsPrice.Text);

  SqlConnection conn = DB.CreateCon();

  conn.Open();

  string cmdText = "insert into T_BuyGoods values('"+BuyGoodsID+"','"+GoodsName+"','"+GoodsNum+"','"+GoodsPrice+"')";

  SqlCommand cmd = new SqlCommand(cmdText,conn);

  SqlTransaction trans = conn.BeginTransaction();

  cmd.Transaction = trans;

  try

  {

  cmd.ExecuteNonQuery();

  //插入库存表的代码

  SqlCommand cmd1 = new SqlCommand("pro_buyGoods",conn);

  cmd1.CommandType = CommandType.StoredProcedure;

  cmd1.Parameters.Add("@GoodsName",SqlDbType.VarChar);

  cmd1.Parameters.Add("@GoodsNum",SqlDbType.Int);

  cmd1.Parameters["@GoodsName"].Direction=ParameterDirection.Input;

  cmd1.Parameters["@GoodsNum"].Direction=ParameterDirection.Input;

  cmd1.Parameters["@GoodsName"].Value = GoodsName;

  cmd1.Parameters["@GoodsNum"].Value = GoodsNum;

  cmd1.ExecuteNonQuery();

  this.Panel1.Visible = false;

  this.Panel2.Visible = true;

  this.lblInfo.Text = "提交成功!";

  trans.Commit();

  }

  catch(Exception exp)

  {

  trans.Rollback();

  Response.Write("<script language='javascript'>alert('提交失败,需要重新提交!')<"+"/script>");

  }

  finally

  {

  conn.Close();

  }

  ***********************************************************************

  set @count = (select count(*) from T_Goods where GoodsName=@GoodsName)

  改为

  select @count = count(*) from T_Goods where GoodsName=@GoodsName

关键词标签:asp.net,存储过程

相关阅读

文章评论
发表评论

热门文章 手把手教你用好LINQ to SQL手把手教你用好LINQ to SQL在.NET环境下为网站增加IP过滤功能在.NET环境下为网站增加IP过滤功能ASP.NET 如何避免页面重新整理时重复送出ASP.NET 如何避免页面重新整理时重复送出用Asp.net扩展ExtJS用Asp.net扩展ExtJS

相关下载

人气排行 asp.net表单提交方法GET\POST在ASP.NET中如何判断用户IE浏览器的版本Asp.net中messagebox的实现方法Asp.net中的web.config配置在ASP.NET MVC中实现大文件异步上传用Iformattable接口控制.Net中文本格式c#.Net经典面试题目用Asp.net扩展ExtJS