回答
DataWindow不會在其生成的INSERT語句中始終包含全部列。包含在給定行中的列將取決於DataWindow維護的項目狀態。如果DataWindow將該列視爲DataModified!,則該列將包含在INSERT中。這樣,它不會生成併發送不必要的SQL。
天生列方式將被設置爲DataModified的方式!包括用戶輸入的數據,以及該列是否在DataWindow中設置了初始值,並且是否有數據輸入。 (即具有初始值的列自動設置爲DataModified!,但只有在另一列已設置爲DataModified!後)。 合成你可以設置一列到DataModified!以編程方式使用SetItemStatus()函數。 (只是要注意,我經常看到有人試圖使用這個功能,並且最終會產生意想不到的後果;您需要仔細考慮使用此功能並徹底測試時所有可能性。)
如果有在應用程序的行爲中仍然存在無法解釋的漏洞,我會在DataWindow的SQLPreview事件中設置一個斷點並探索列的值,原始值和項目狀態。查看這三個值幾乎總能解釋生成的SQL。解釋這些值如何達到目前的狀態...通常需要更多的挖掘。
祝你好運,
特里。
但首先將自身插入失敗沒有對新行 – user1788373
因此,所有列的值,回到我所描述的,該如何解決?您是否強制用戶在發出dw.Update()之前輸入值,或者您是否在DataWindow畫家中提供初始值來爲這些列提供默認值?如果用戶和程序員都沒有提供價值,我不確定PB可以預期哪些值可以放入這些列。 (備用:使列可以爲空或在數據庫表定義上提供默認值。) – Terry
你也許不調用更新之前accepttext()?
- 1. Powerbuilder數據窗口錯誤
- 2. PowerBuilder的數據窗口+ DATETIME2錯誤
- 3. PowerBuilder數據窗口
- 4. PowerBuilder數據窗口
- 5. PowerBuilder複合數據窗口
- 6. 的PowerBuilder:複選框在數據窗口
- 7. PowerBuilder的12.5 - 在數據窗口
- 8. PowerBuilder:從數據窗口生成HTML
- 9. Powerbuilder數據窗口密碼加密
- 10. PowerBuilder:確定數據窗口主鍵
- 11. PowerBuilder數據窗口對象編輯
- 12. Powerbuilder數據窗口交叉表顯示
- 13. Powerbuilder數據處理錯誤?
- 14. Powerbuilder-無法創建新的數據窗口
- 15. PowerBuilder窗口大小
- 16. PowerBuilder:使用數據窗口插入數據
- 17. powerbuilder:將一個下拉數據窗口鏈接到它的父窗口
- 18. 新窗口打開錯誤
- 19. 數據窗口錯誤:在檢索和更新之間更改了行
- 20. PowerBuilder中的網格數據窗口問題
- 21. 將PowerBuilder數據窗口顯示爲PDF的網頁
- 22. Javascript新窗口窗體字段錯誤
- 23. 更新數據窗口更新時的editmask控件
- 24. 無法更新列窗口函數錯誤
- 25. symfony2:更新數據錯誤
- 26. 錯誤更新數據
- 27. 更新API數據錯誤
- 28. 錯誤500更新數據
- 29. 錯誤C#數據庫更新錯誤
- 30. 在運行時打開Powerbuilder數據窗口設計模式
你得到一個錯誤信息,或者做一些列只是失蹤? – Seki
我收到數據庫錯誤。當我檢查插入語句我發現列丟失。即使表主鍵。它並不總是發生,但有時它發生。 – user1788373
您能否提供一些細節,如PB版本,使用的dbms和錯誤消息的副本?現在我們必須用cristal球做出一些猜測。 – Seki