Java で mysql ストアド プロシージャから OUT パラメータを取得する際に問題が発生しています。
CALL proc_after_topic_add('newtest',@result);
SELECT @result;
このクエリは私に必要な出力パラメータを与えますが、Javaでそれを取得するにはどうすればよいですか.CallableStatementを使用しようとしましたが、
java.sql.SQLException: Callable statments not supported.
エラーです。助けてください。私は以下を試しました
String sql = "CALL proc_after_topic_add(?,?);";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setString(1, topicname);
cstmt.registerOutParameter(2, java.sql.Types.INTEGER);
ResultSet rs = cstmt.executeQuery();
if (rs.next()) {
if (rs.getInt(1) == 1) {
res = 0;
} else {
res = -1;
}
}
ストアド プロシージャ コードは投稿していません。問題はありません。
PS:I a using mysql 5.5.21 and yes i should probably mention i am using mysql connector 3.0.15
これで解決しました。同じ問題が発生した場合は、最新バージョンの mysql コネクタをダウンロードしてください。