タイトルを次のように書き換えます。 ResultSet の ID を取得し、それを java.sql.Array として返します。
P粉905144514
2023-09-03 18:10:50
<p>次のものがあります:</p>
<pre class="brush:scala;toolbar:false;"> def getIds(name: String): java.sql.Array = {
val id: Array[整数] = Array()
val ps: PreparedStatement = connection.prepareStatement("SELECT id FROM table WHERE name = ?")
ps.setString(1, 名前)
val resultSet = ps.executeQuery()
while(resultSet.next()) {
val currentId = resultSet.getInt(1)
ID: 現在の ID
}
return connection.createArrayOf("INTEGER", ids.toArray)
}
</pre>
<p>私の目的は、<code>.setArray(1, <array>)</code></p> を使用して、このメソッドの出力を別の PreparedStatement に使用することです。
<p>しかし、次のエラーが発生します: <code>java.sql.SQLFeatureNotSupportedException</code></p>
<p>MySQL を使用しています。 INTEGER、INT、BIGINT はすでに試しています。しかし、すべて失敗しました。 </p>
翻訳された内容は次のとおりです:
調査の結果、次のことがわかりました:
したがって、私の解決策は、ID のみを含む一時テーブルを作成することです:
リーリー次に、他のステートメント/クエリとの内部結合を実行して、同じ結果を実現します。
リーリー