我參考松崗專題實務I ASP.NET VB入門實戰 VS2015版 Chapter 08的內容,為敝公司(在東南亞)的半成品盤點系統網頁設置自訂樣板,讓user能選擇要把舊資料鎖定或解鎖。因只有兩種選擇,所以用了RadioButtonList的控制項,完全按照書中P8-25~P8-29的內容來設計網頁樣板。
但在執行後出現了錯誤的結果,請參考以下4張圖。我將控制項改為TextBox、DropDownList也是一樣的結果,不知是哪裡出了問題?還請各位先進不吝分享,謝謝!另外因為公司有時程壓力,沒時間讓我從頭學起,只能遇到問題時跳著閱讀及製作網頁,請原作者不要唸我觀念不清就要寫程式,我以前是搞IT硬體的,接觸ERP是這兩年的事,接觸ASP是從2017/11起,今年2018才開始接觸ASP.NET,公司裡做事就是趕鴨子上架,我會另外再找時間從頭學起,但現在要緊的是先解決眼前的問題,感恩感恩!
圖1,設計畫面
圖2,執行畫面
圖3,編輯畫面
圖四,結果畫面
錯誤訊息是「GRANDE_OA.dbo.INVENPT 的 IV_CONFIRM 不得為 NULL」
所以有兩種情形:
1.IV_CONFIRM 不是解鎖/鎖定欄位
檢查為什麼 IV_CONFIRM 是空值
2.IV_CONFIRM 就是解鎖/鎖定欄位
參考同頁面/同資料表的其他欄位寫法
確定 IV_CONFIRM 和 解鎖/鎖定 欄位有「串」在一起
另外
你說「我會另外再找時間從頭學起」
我猜
我看不出@RadioButtonList1 跟 @original_IV_NO 的值從哪來?
謝謝大大的回應,在EditItemTemplate內有一個名為RadioButtonList1的控制項,@RadioButtonList1的值來自於該控制項,我在主題底下第一個補充有貼出樣版內控制項的原始碼。
原本大大提出這個疑惑,我也有點動搖,於是特地再檢查一番,發現有另一個(沒貼出來)修改數量的樣版使用的是TextBox控制項,它可以正常修改,不會變成空值。同樣在它的update parameter裡只有如下的原始碼,並未給值,所以我想程式是否根據控制項名稱自動去取值?
<asp:Parameter Name="IV_SL" Type="Decimal" />
RadioButtonList1的值應該不會自動傳給@RadioButtonList1,
可以參考一下Select那邊的用法,
我好奇的是你original_IV_NO的值取得到??
因為你說 SET [IV_CONFIRM] = 'Y' WHERE [IV_NO] = @original_IV_NO; 可以用??
是的, SET [IV_CONFIRM] = 'Y' WHERE [IV_NO] = @original_IV_NO; 可以用,沒有錯誤訊息,被選擇的資料,其[IV_CONFIRM]的欄位值也從 N 改成了 Y
這一篇 應該會對你有幫助
遇到問題記得先Google
謝謝!我再好好研究研究。