我在GridView上開了刪除按鈕
並在SqlDataSource的DELETE內給下方語法
我想再刪除前,把@ITR_Qty的值加回另一個TABLE欄位 (@NowAsset_Stock)
SqlDataSource DeleteCommand
begin tran
--declare @NowAsset_Stock int (這邊會取消是因為aspx上有宣告了)
set @NowAsset_Stock = (select Asset_Stock from Asset where Asset_Num = @ITR_Asset_Num)
update Asset set Asset_Stock = @NowAsset_Stock + @ITR_Qty where Asset_Num = @ITR_Asset_Num
delete from [Inventory_Trans_Record] where [ITR_Num] = @ITR_Num
commit
SqlDataSource DeleteParameters
<DeleteParameters>
<asp:Parameter Name="ITR_Asset_Num" />
<asp:Parameter Name="ITR_Qty" Type="Int32"/>
<asp:Parameter Name="ITR_Num" Type="String" />
<asp:Parameter Name="NowAsset_Stock" />
</DeleteParameters>
測試幾次後大概知道
應該是按"刪除"時,當下GridView是Select模式,除了主索引有自動宣告
其餘資料皆無宣告,之後我自己加入宣告,但好像還是不行
請問這個case有辦法另外設置宣告,去讀出GridView是Select模式下,某個欄位的值嗎?
謝謝!!
刪除時,順便update資料
這種需求,我建議在資料庫的觸發程式中做,至於畫面,再重新 refresh ,讓它重新讀取資料就好。
GridView有兩個事件可以玩玩
RowDeleted: 刪除後
RowDeleting: 刪除中
您可以在事件中進行處理~