2009-02-27 30 views
2

我慢慢學習SQL和如何使用表單生成器6的情況是我有一個名爲一個簡單的表在表中「玩家」我有三列:如何使用Form Builder和PL/SQL插入記錄?

  • player_no(主鍵)
  • 位置
  • 目標

在表單生成6我已經創建了使用這三個領域一個非常簡單的形式。該表格被命名爲「TEAM」。在窗體的底部,我有一個標記爲「添加」的按鈕。目標是讓用戶輸入player_no,位置和目標,然後單擊「添加」。這些信息將進入我的表格。

迄今爲止所有的嘗試都失敗了。我在按鈕上設置了一個觸發器(WHEN_MOUSE_CLICK)。然後我輸入了以下代碼:

BEGIN 
    INSERT INTO players (player_no) 
    VALUES (:TEAM.player_no) 
END 

爲了測試它的目的,我只使用了一個(player_no)字段。然後當我運行表單並輸入player_no並按下按鈕時,我在狀態欄中收到以下錯誤,然後編譯時沒有任何錯誤:

frm-40735:WHEN-MOUSE-CLICK觸發器引發未處理的異常ORA-01400

我在做可怕的錯誤嗎?我對SQL和Form Builder非常陌生,所以任何幫助將不勝感激。

回答

2

ORA-01400: cannot insert Null看起來像你的一個字段不爲空,你插入時忽略它們。或值:插入期間TEAM.player_no爲空。

而且,從地方網站:

FRM-40735:ON-INSERT觸發器引發 未處理的,因爲11.5.9我們有過類似的問題 。我們清除Jinitiator 緩存和臨時互聯網文件 (工具>互聯網選項,然後在 臨時互聯網文件清除 文件按鈕)。似乎工作。

1

對使用​​窗體生成器的好處是,你幾乎總是需要自己編寫DML語句。

只需根據表格創建塊 - 然後用戶可以根據需要添加和修改任意數量的記錄,然後當它們保存(即COMMIT)時,Forms運行時會自動計算出需要插入和更新的內容變化。