Play 2.1.0を使用して Web アプリケーションを開発し、Java でプログラミングしています。DB に既に保存されているデータにアクセスして変更する必要があります。
演算子なしで新しいインスタンスを作成new
し、データベースに保存されているオブジェクトを参照しようとしましたが、ポインター エラーが発生しなくても、属性の値は変更されません。理由が分からなかったので、SQL クエリを直接入力することにしました。
同じこと、間違いはないようですが、何も変わりません...これはデータベースへのリンクが悪いことが原因だと思います:
ここに私のコードがありますapplication.java
:
public static Result modifyQuestionnaire(Long id) throws SQLException {
Statement stmt = null;
Connection con = DB.getConnection();
try {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String query = "SELECT * FROM WOQ.questionnaire WHERE id=id";
ResultSet uprs = stmt.executeQuery(query);
uprs.updateString("name", "baba");
uprs.updateRow();
} catch(Exception e) {
e.printStackTrace();
} finally {
if (stmt!=null) {
stmt.close();
}
}
return redirect(routes.Application.questionnaire(id));
}
また、UPDATE
クエリを直接入力しようとしましたが、それでも同じです..
私はいたるところを見てきましたが、解決策が見つかりませんでした(Anormを除くが、Scala言語で動作するようです)
ところで、誰かが同じオブジェクトを参照する 2 番目のインスタンスを使用した解決策を知っている場合 (可能だと思われますが、私が言うように、エラーはありませんが、アクションもありません)、それは私にとっては問題ありません。