0

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 番目のインスタンスを使用した解決策を知っている場合 (可能だと思われますが、私が言うように、エラーはありませんが、アクションもありません)、それは私にとっては問題ありません。

4

1 に答える 1

0

ええと、まったく新しい接続を作成しようとしていることが示されたので、Ebean を使用したくないと思いましたが、既に使用している場合は、タスクにそのメソッドを使用できます。

(コピー) Ebean の API にはいくつかのオプションがあるため、確認して選択する必要があります。

于 2013-07-04T14:47:43.653 に答える