java - 以编程方式访问 PostgreSQL 异常

标签 java postgresql javafx

我有以下问题。我正在通过我的 javafx 接口(interface)将数据插入 Postgres 数据库。

当我将一些数据导入我的数据库时,有时会违反主键并且我会收到以下堆栈错误:

 catch(PSQLException e){

       System.out.println(e.getLocalizedMessage());
}


 duplicate key value violates unique constraint "importedDocumentPK"
 Detail: Key (part_id, supplier_id, temp_id, qty, color, sign_id, state_id)=(41A213752P9, 750, 7049, 48, 5, 1, 1) already exists.

我的问题是。如何在我的程序中保存有关这一行 (41A213752P9, 750, 7049, 48, 5, 1, 1) 的信息?

最佳答案

在当前版本的 PostgreSQL 中,此信息仅作为错误消息中的文本字符串提供。但是,即将发布的 9.3 版本会将其公开为更详细的字段,请参阅 http://www.postgresql.org/docs/9.3/static/libpq-exec.html#LIBPQ-PQRESULTERRORFIELD了解详情。我假设 JDBC 驱动程序也会公开相同的字段,但我不确定他们是否已经定义了接口(interface)。

关于java - 以编程方式访问 PostgreSQL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17884880/

相关文章:

sql - 在临时表中添加新列

postgresql:错误安装和运行 postgresql-9.5

JavaFX 8 媒体播放器进度 slider

JavaFX - 应用程序 : Only main stage is shown from exported jar file while in Eclipse all dialogs are shown, 为什么会出现这种差异?

java - 验证 SWT 文本中的字符串长度

java - 使用 Maven 部署 Tomcat

java - 在移动浏览器中打开时,html 页面顶部的文件名和图标会缩水?

java - 不使用 Web 组件加载 Spring Context

postgresql - 在 docker 环境中重启 postgres

JavaFX:嵌入式 JavaFX 小程序丢失宽度和高度?