ASP.NET数据库列求和的计算帮助

时间:2012-06-26 15:13:55

标签: asp.net sql database stored-procedures

在我的ASP.NET页面中,我有一个gridview,当你进入编辑模式时,你可以手动输入值来保存到数据库。我的一个数据库列是“金额”列,其中包含与特定年份的用户条目相关的不同金额。

我正在寻找的是在我的SQL过程或后面的代码中进行计算,将用户条目的数量一起添加到amount列中,并将它们显示在我的asp.net页面上的文本框中流体运动。以下是我在sql中用于将数据存储到数据库的代码如下:

ALTER PROCEDURE [dbo].[InsertData]
@amt money,
@date datetime,
@cmmt nvarchar(255),
@int nvarchar(3)
AS
BEGIN
SET NOCOUNT ON;

INSERT INTO [DB1].[dbo].[BE_AdjustBudgetTbl]
([BE_Adj_AMOUNT],[BE_Adj_APPRV_D],[BE_Adj_COMMENT],[BE_Adj_Initials]) 
VALUES (@amt,@date,@cmmt,@int)

END

目前,我只是将输入的值从columna中拉出来并将其粘贴到我的文本框中而没有计算部分,如果有多个记录则该部分不起作用:

 txtTotal.Text = txtTotal.ToString + amt
 Dim calc As Double = Convert.ToString(Double.Parse(txtIntAppr.Text) + txtTotal.Text)
 txtTotalAll.Text = Convert.ToInt32(calc)

1 个答案:

答案 0 :(得分:0)

调整存储过程以进行计算

ALTER PROCEDURE [dbo].[InsertData] 
@amt money, 
@date datetime, 
@cmmt nvarchar(255), 
@int nvarchar(3),
@total money output
AS 
BEGIN 
SET NOCOUNT ON; 

INSERT INTO [DB1].[dbo].[BE_AdjustBudgetTbl] 
([BE_Adj_AMOUNT],[BE_Adj_APPRV_D],[BE_Adj_COMMENT],[BE_Adj_Initials])  
VALUES (@amt,@date,@cmmt,@int) 

SELECT @total = SUM(BE_Adj_AMOUNT) 
FROM [DB1].[dbo].[BE_AdjustBudgetTbl]
WHERE Year([BE_Adj_APPRV_D]) = year(getdate())



END 

将输出参数添加到存储过程调用中,方向设置为ParameterDirection.Output