我有表数据库按钮用于更新数据库无法正常工作
dbo.auctions
:[id]
[productid]
[lastbider]
[bidvalue]
[lastbid]
dbo.products
:[id]
[name]
dbo.users
:[id]
[name]
[password]
[bids]
我需要编写,检查是否[bids]
是大于0
如果它是一个程序,[lastbid]
被更新并且[bidvalue]
被添加到它,像lastbid = lastbid + bidvalue
,和[bids]
由1,bids = bids - 1
降低。我需要连接到Button
在Visual Studio
。
我写了这个过程:
ALTER PROCEDURE [dbo].[usp_makebid] (
@userid int, @auctionid int
)
AS
DECLARE @bids int, @lastbid int
SELECT @bids = COUNT (*)
FROM users
WHERE users.id = @userid
IF @bids > 0
BEGIN
UPDATE auctions
SET lastbid = @lastbid + bidvalue
WHERE id = @auctionid
AND lastbid = @lastbid
UPDATE users
SET bids = @bids - 1
WHERE bids = @bids
END
,并连接到Button
:
protected void Button1_Click(object sender, EventArgs e)
{
using (var con = new SqlConnection(@"data source=JOVAN-PC;database=aukcija_jovan_gajic;integrated security=true"))
{
con.Open();
var userid = 1;
var auctionid = 2;
var cmd = new SqlCommand("usp_makebid", con);
cmd.Parameters.AddWithValue("@userid", userid);
cmd.Parameters.AddWithValue("@auctionid", auctionid);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
con.Close();
}
}
但是当我按一下按钮,没有任何反应。
首页看起来是这样,也许可以给你的总体思路:
尝试调试应用程序;使用try/catch来识别错误... –
如何更新数据库没有传递userid和auctionid值? – RajeeshMenoth