查询数据顶点时出错
Error while querying data vertx
public static void findAll(Handler<AsyncResult<ChannelInfo[]>> ar)
{
//getConnection().query("SELECT &", arg1)
getConnection().queryWithParams("SELECT * FROM Servers", new JsonObject(), res -> {
if (res.succeeded() && res.result().size() > 0) {
ChannelInfo[] channels = new ChannelInfo[res.result().size()];
int count = 0;
for (JsonObject row : res.result()) {
channels[count++] = new ChannelInfo()
.setId(row.getInteger("srv_id"))
.setName(row.getString("srv_name"))
.setIp(row.getString("srv_ip"))
.setServerDomain(row.getString("srv_domain"))
.setPort(row.getInteger("srv_port"))
.setPosition(row.getInteger("srv_position"))
.setPromiseToFightFlag(row.getBoolean("srv_promise_to_fight_flag"))
.setMoreServerFlag(row.getBoolean("srv_more_server_flag"))
.setMaxRoom(row.getInteger("srv_max_room"))
.setNumber(row.getInteger("srv_number"))
.setAllowedRoomTypeId(row.getInteger("srv_allowed_room_type_id"))
.setLimitMinLV(row.getInteger("srv_limit_min_lv"))
.setLimitMaxLV(row.getInteger("srv_limit_max_lv"))
.setMaxClient(row.getInteger("srv_max_client"));
}
ar.handle(Future.succeededFuture(channels));
} else {
logger.error("Erro ao obter um usuário pelo nome", res.cause());
ar.handle(Future.failedFuture(res.cause()));
}
});
}
错误:SQLConnection 类型中的方法 queryWithParams(String, JsonArray, Handler>) 不适用于参数 (String, JsonObject, ( res) -> {})
替换...
getConnection().queryWithParams("SELECT * FROM Servers", new JsonObject(), res ...
...与:
getConnection().queryWithParams("SELECT * FROM Servers", new JsonArray(), res ...
方法 queryWithParams
需要以下参数:
- 查询字符串
- 查询参数
- 处理响应的处理程序
第二个参数必须是 JsonArray
而不是 JsonObject
。在您的情况下,您似乎没有传递任何参数,因此提供一个空的 JsonArray
(例如 new JsonArray()
)就足够了。
public static void findAll(Handler<AsyncResult<ChannelInfo[]>> ar)
{
//getConnection().query("SELECT &", arg1)
getConnection().queryWithParams("SELECT * FROM Servers", new JsonObject(), res -> {
if (res.succeeded() && res.result().size() > 0) {
ChannelInfo[] channels = new ChannelInfo[res.result().size()];
int count = 0;
for (JsonObject row : res.result()) {
channels[count++] = new ChannelInfo()
.setId(row.getInteger("srv_id"))
.setName(row.getString("srv_name"))
.setIp(row.getString("srv_ip"))
.setServerDomain(row.getString("srv_domain"))
.setPort(row.getInteger("srv_port"))
.setPosition(row.getInteger("srv_position"))
.setPromiseToFightFlag(row.getBoolean("srv_promise_to_fight_flag"))
.setMoreServerFlag(row.getBoolean("srv_more_server_flag"))
.setMaxRoom(row.getInteger("srv_max_room"))
.setNumber(row.getInteger("srv_number"))
.setAllowedRoomTypeId(row.getInteger("srv_allowed_room_type_id"))
.setLimitMinLV(row.getInteger("srv_limit_min_lv"))
.setLimitMaxLV(row.getInteger("srv_limit_max_lv"))
.setMaxClient(row.getInteger("srv_max_client"));
}
ar.handle(Future.succeededFuture(channels));
} else {
logger.error("Erro ao obter um usuário pelo nome", res.cause());
ar.handle(Future.failedFuture(res.cause()));
}
});
}
错误:SQLConnection 类型中的方法 queryWithParams(String, JsonArray, Handler>) 不适用于参数 (String, JsonObject, ( res) -> {})
替换...
getConnection().queryWithParams("SELECT * FROM Servers", new JsonObject(), res ...
...与:
getConnection().queryWithParams("SELECT * FROM Servers", new JsonArray(), res ...
方法 queryWithParams
需要以下参数:
- 查询字符串
- 查询参数
- 处理响应的处理程序
第二个参数必须是 JsonArray
而不是 JsonObject
。在您的情况下,您似乎没有传递任何参数,因此提供一个空的 JsonArray
(例如 new JsonArray()
)就足够了。