gpt4 book ai didi

sql - 异步回调 - gwt

转载 作者:行者123 更新时间:2023-11-29 13:07:31 25 4
gpt4 key购买 nike

我正在为我的项目使用 gwt 和 postgres。在前端,当我单击“保存项目”按钮时,我试图将其数据保存到后端表中的小部件很少(这也采用了已创建项目的名称)。

在异步回调部分我设置了多个表。但它没有正确发送数据。我收到以下错误:

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".

但是当我在项目表上执行 select 语句时,我可以看到项目名称存在。

这里是回调部分的样子:

        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);
}
}
}

问题:

  1. 在所有其他表都依赖于特定表的异步回调中设置多个是否错误?
  2. 当我在上面的代码中说 setProjects 时,它不是先完成然后转到下一个吗?

如有任何意见,我们将不胜感激。

谢谢。

最佳答案

有了外键约束,您必须确保 erasync.setProjects(...) 在插入其余内容之前已完成。

我建议在(或从)onsuccess 回调中执行 erasync.setEntityAttribute(...) 魔法,而不是直接跳转到它。

关于sql - 异步回调 - gwt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com