使用vertx中的updateWithParms从JsonArray插入数据

时间:2018-01-22 18:28:12

标签: sql prepared-statement vert.x

是否可以在vertx postgres客户端中使用updatewithparms()将数据插入到使用json数组。我尝试了以下任何成功。

echo "${month}"
echo "    [$(printf "%.s=" $(seq 1 ${length}))]"

然后我按如下方式调用函数。

String  INSERT_QUERY="INSERT INTO testDb (rid , aid , created_at, expiry_time, strings , strings) VALUES"

private JsonArray preparedParameters(){
    //JsonArray params = new JsonArray();
    DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    return new JsonArray()
            .add(device.getRecordId().toString())
            .add( device.getAccountId())
            .add(dateTimeFormat.format(device.getCreatedAt()))
            .add(dateTimeFormat.format(device.getExpiresAt()))
            .add( device.getEnrollmentId())
            .add(device.getHashedEnrollmentId());
}

我收到以下错误。

try (SQLConnection connection = connectionResult.result()) {
        connection.updateWithParams(INSERT_QUERY,preparedParameters() ,queryRes -> {
            if (queryRes.succeeded()) {
                booleanFuture.complete(true);
            } else {
                booleanFuture.complete(false);
            }
        });
    } catch (Exception e) {

        booleanFuture.complete(false);
    }

com.github.mauricio.async.db.exceptions.InsufficientParametersException:查询包含0个参数,但你给它6(“sda”,“sda”,2018-01-22 20:23:26,2018-02 -21 20:23:26,“sda”,“sda”)

1 个答案:

答案 0 :(得分:3)

您的查询无效,但错过了参数。

String  INSERT_QUERY="INSERT INTO testDb (rid , aid , created_at, expiry_time, strings , strings) VALUES (?,?,?,?,?,?)"

请参阅Vert.x SQL文档的Prepared Statement Updates部分。