当前位置:C++技术网 > 资讯 > 利用数据库存储过程方法来设计操作投票系统1

利用数据库存储过程方法来设计操作投票系统1

更新时间:2016-03-17 23:44:15浏览次数:1+次

在数据库中创建带参数的存储过程》《 SqlCommand与SqlParameter类来引入存储过程机器参数》《详解用C#调用存储过程来填充数据库数据1-存储过程的设计》《详解用C#调用存储过程来填充数据库数据2-C#代码引用存储过程》《http://www.cjjjs.com/paper/lkkj/201631611381629.aspx》等文章详细介绍了数据库存储过程的概念及其应用,希望你好好看看,那么,我们这篇文章写什么呢?我之前写了一个简易的投票系统,请看《 利用ADO.NET与ASP.NET创建一个简易的投票系统1》这是一篇介绍简要的我之前写的投票系统的文章。在这里,我优化了之前的投票系统,在数据库中设计了存储过程,以及添加了其他的些许功能。那么我们开始吧:
首先就是设计数据库,数据表设计如下:

Opinion列我们不予做任何的操作,仅仅是VoteNum列与HeroName列设计的数据。记得设定ID列自动增长哦!而后,我们设计存储过程代码:
首先,我们设计一个存储过程来实现投票人数自动增长:
新建查询窗口:
USE [Study]
GO
Create Procedure CountNum
@id int
AS
if Exists(select * from Vote where VoteNum>0)
 begin
update Vote set VoteNum=(VoteNum+1) where ID=@id
 end
else
update Vote set VoteNum=1 where ID=@id
GO
也许在设计存储过程的时候,会出现这样的现象:

这是因为SQL server 2008没有反应过来,也就是说,你设计的数据库没有来得及引入SQL server2008的代码智能提示中,没事!你就接着写你的代码就行,写完之后点击“执行存储过程”就行。代码能够很好地运行。
接下来,我们设计存储过程来绑定我们投票选定的联盟英雄:
USE [Study]
GO
Create Procedure [dbo].[hero]
@name varchar(50),@ID int
AS
update Vote set HeroName=@name where ID=@ID
在这里,我们设计两个参数,参数ID就是为了删选!删选什么?自己想想哦!而参数name就是为了绑定我们选定的英雄。
我们再设计一个存储过程来绑定我们的Opinion:
USE [Study]
GO
Create Procedure [dbo].[opinion]
@result varchar(50),@ID int
AS
update Vote set VoteOpinion=@result where ID=@ID
GO
同样,ID参数也是为了删选,我们利用用户输入的result来绑定数据库中的VoteOpinion。
好了,数据库存储过程设计完了,下篇文章接着介绍。