如何翻译MySQL查询's ResultSet转换为整数

How do I translate a MySQL query's ResultSet into an integer?

本文关键字:ResultSet 转换 整数 查询 何翻译 翻译 MySQL      更新时间:2023-09-26

我不精通Java和JavaScript。

我正在做的是使用一个java插件,它允许我将javaScript添加到文本文件中,以便在某些事件中调用。文本文件中的JS还可以调用Java插件本身内部的东西,使其能够访问我没有文档的API。

我需要用JS查询MySQL数据库并从表中获取用户Id。这是我的代码:

var host = "localhost"
var port = "3306"
var database = "dev"
var user = "root"
var pass = ""
// var username = name of the user used to vote. Part of internal API
function connect(){
  var url = "jdbc:mysql://" + host + ":" + port + "/" + database
  return java.sql.DriverManager.getConnection(url, user, pass)
}
function getUserId(){
  var connection = connect()
  var statement = connection.createStatement()
  var userId = statement.executeQuery("SELECT user_id FROM xf_user_field_value WHERE field_value = '" + username + "'")
  return userId
}

这将返回一个resultSet。我需要它返回的是字段的整数值。。而不是结果集。

如何在JavaScript中从ResultSet中获取整数值?

我不熟悉这个Java/Javascript插件,但它似乎遵循了标准的Java方法。应该是:

var statement = connection.createStatement()
statement.executeQuery("SELECT user_id FROM xf_user_field_value WHERE field_value = '" + username + "'")
var rs = s.getResultSet ();
if (rs.next()) {
    var userId = rs.getInt("user_id");
}

编辑

在您的情况下,它似乎已经返回了ResultSet,所以可能:

var rs = statement.executeQuery("SELECT user_id FROM xf_user_field_value WHERE field_value = '" + username + "'")