5

重複の可能性:
PreparedStatement の SQL を取得するにはどうすればよいですか?

PreparedStatement (PS) を作成し、setString(int a,String b) を実行します。この後、PS が最終的にどのように見えるかを確認するにはどうすればよいですか?

4

1 に答える 1

4

私があなたを理解しているなら、あなたは次のような何かをしたいと思うでしょう:

    PreparedStatement pstmt = 
           connection.prepareStatement("insert into table tab(col) values(?)");
    pstmt.setString(1, "my string value");

次に、次のような文字列を表示します。

"insert into table(col) values('my string value')"

私はあなたの意味を正しく理解しましたか?

もしそうなら、私はあなたがそれを行うことはできないと思います。ステートメントはパラメーター値なしでプリコンパイルされており、これらは別々に保持されているので、異なるパラメーターでステートメントを再利用できると思います。

できることは、次のようにパラメータメタデータを取得することです。

    ParameterMetaData pmd = pstmt.getParameterMetaData();

そして、次のようなものを呼び出します:

    pmd.getParameterCount();
    pmd.getParameterClassName(1);
    pmd.getParameterType(1);
于 2012-07-26T22:01:02.723 に答える