1

私は Java と JavaScript に堪能ではありません。

私がやっていることは、特定のイベントで呼び出されるテキスト ファイルに javaScript を追加できる Java プラグインを使用することです。テキスト ファイル内の 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 から整数値を取得するにはどうすればよいですか?

4

1 に答える 1

0

私はこの 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 + "'")
于 2012-09-07T20:27:30.477 に答える