0

私のASP.NETページには、編集モードに入ると手動で値を入力してデータベースに保存できるグリッドビューがあります。私のデータベース列の 1 つは、特定の年のユーザー エントリに関連するさまざまな金額の「金額」列です。

私が探しているのは、SQL プロシージャまたはコード ビハインドのいずれかで、ユーザー エントリの金額を一緒に金額列に追加し、asp.net ページのテキスト ボックスにすべて 1 つの滑らかな動きで表示するための計算です。データベースにデータを保存するために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

現在、入力された値を金額列から引き出して、複数のレコードがある場合に目的を果たさない計算部分なしでテキストボックスに貼り付けています。

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

1 に答える 1

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

于 2012-06-26T15:43:36.103 に答える