0

以前はステートメントで作業していましたが、JOOQ で変換する必要があります

  Statement dboSt = null; 

dboSt = dboConn.createStatement(); 

JOOQ で以下の行を変更する方法を知る必要があります。

dboSt.executeUpdate("alter login \"" + UserId + "\" with password='" + NewPassword + "'");

dboSt.executeUpdate("alter login \"" + UserId + "\" with password='" + NewPassword + "' old_password='" + OldPassword
                                + "'");

それを変換する解決策はありますか?

4

1 に答える 1

0

jOOQ は (まだ) タイプセーフな DDL をサポートしていません。それはしばらくの間ロードマップにありました: #883

それまでの間、jOOQ を直接使用してプレーンな SQL ステートメントを実行できます。

DSLContext ctx = DSL.using(configuration);

// As before, manually inlining arguments:
ctx.execute("alter login \""+UserId+"\" with password='"+NewPassword+"'");

// Better, letting jOOQ do the string escaping for you, preventing
// syntax errors and SQL injection vulnerabilities:
ctx.execute("alter login {0} with password = {1}",
    DSL.name(UserId),       // org.jooq.Name is rendered with quotes in most DBs
    DSL.inline(NewPassword) // org.jooq.Param is inlined as a (string) literal
);
于 2013-10-16T11:32:34.897 に答える