我正在爲我的項目使用gwt和postgres。在前端,當我點擊「保存項目」按鈕(這也需要創建項目的名稱)時,我有幾個小部件的數據我試圖保存到後端的表中。異步回調 - gwt
在異步回調部分,我設置了多個表。但它沒有正確發送數據。我收到以下錯誤:
org.postgresql.util.PSQLException: ERROR: insert or update on table "entitytype" violates foreign key constraint "entitytype_pname_fkey"
Detail: Key (pname)=(Project Name) is not present in table "project".
但是,當我做項目表上的選擇語句我可以看到項目名稱存在。
這裏是回調的部分看起來像:
oksave.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
if(erasync == null)
erasync = GWT.create(EntityRelationService.class);
AsyncCallback<Void> callback = new AsyncCallback<Void>(){
@Override
public void onFailure(Throwable caught) {
}
@Override
public void onSuccess(Void result){ }
};
erasync.setProjects(projectname, callback);
for(int i = 0; i < boundaryPanel.getWidgetCount(); i++){
top = new Integer(boundaryPanel.getWidget(i).getAbsoluteTop()).toString();
left = new Integer(boundaryPanel.getWidget(i).getAbsoluteLeft()).toString();
if(widgetTitle.startsWith("ATTR")){
type = "regular";
erasync.setEntityAttribute(name1, name, type, top, left, projectname, callback);
} else{
erasync.setEntityType(name, top, left, projectname, callback);
}
}
}
問:
- 這是錯誤的設置多個在異步回調在所有其他表是依賴於特定的表?
- 當我說setProjects在上面的代碼不是它第一次完成,然後移動到下一個?
請任何輸入將不勝感激。
謝謝。
我曾嘗試將onsuccess部分併入,但它不能識別回調。這是否意味着我必須在onsuccess中執行異步回調? 謝謝。 – suprasad 2010-03-16 16:41:09
謝謝。我工作... – suprasad 2010-03-17 20:54:58
哦,太好了。感謝您報告成功! (你做了成功嗎?:)) – npup 2010-03-17 21:01:14