用java从JDBC调用postgres函数并不起作用

时间:2017-08-17 05:46:29

标签: java postgresql jdbc

我在postgresql中创建了一个函数,该函数接收两个varchar参数并返回void,当我在pgadmin中执行它时它工作正常,但是我在尝试从java调用它时遇到了问题。我尝试过使用executeQuery和我发现的其他一些例子来调用函数。问题是:在java中似乎一切都好,但是当我在postgres中检查表时,它没有任何变化,当函数应该添加一个寄存器时。 我试过这个:

export class AccountProfilePage {
    constructor(private authService: AuthService) {}

    someMethod() {
      this.authService.getUid(); // Returns UID
    }
}

有了这个......

try (CallableStatement callableStatement = 
                dbConn.prepareCall("{ CALL prueba1(?,?) }")) {
            callableStatement.setString(1,mun);
            callableStatement.setString(2,edo);
            callableStatement.execute();
            callableStatement.close();
        }

但它还没有奏效......任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

在准备好的声明中尝试切换:

ResultSet rs = pstmt.executeQuery();

使用:

pstmt.executeUpdate();

由于您准备好的语句实际上返回void,因此没有返回结果集,并且它更像是插入或更新的指令 - 没有返回值。