- - PR -
CallableStatementの実行について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-03-24 20:17
初歩的な質問ですいません。
CallableStatementはStatementとPreparedStatementを継承しているため、 実行時には以下のメソッドを使用できるかと思います。 ・ResultSet executeQuery() throws SQLException ・int executeUpdate() throws SQLException ・boolean execute() throws SQLException しかしながら、ソース例などを調べてみると CallableStatement st = Conn.prepareCall("{call GetXXX}"); st.execute(); などのが見受けられます。 戻り値であるResultSetはどうなっているのでしょうか? これは CallableStatement st = Conn.prepareCall("{call GetXXX}"); ResultSet rs = st.execute(); ^^^^^^^^^ としなくて良いのでしょうか? |
|
投稿日時: 2004-03-24 20:26
すいません、記述が間違えていますので訂正します。
以下修正======================================== しかしながら、ソース例などを調べてみると CallableStatement st = Conn.prepareCall("{call GetXXX}"); st.execute(); などのが見受けられます。 戻り値であるbooleanはどうなっているのでしょうか? これは CallableStatement st = Conn.prepareCall("{call GetXXX}"); boolean bl = st.execute(); ^^^^^^^ としなくて良いのでしょうか? |
|
投稿日時: 2004-03-24 20:43
質問の意味を理解しきれていませんが・・・
execute()の戻り値は 「最初の結果が ResultSet オブジェクトの場合は true。 更新カウントであるか、または結果がない場合は false 」 となっているので、検索or更新がはっきりしている場合は戻り値を使う必要がないかと。 |
|
投稿日時: 2004-03-24 21:04
ぽんさん、ありがとうございます。
初歩的なことが分かってないため申し訳ないです。 検索or更新がはっきりしている場合でも、戻り値があるということはtrueかfalseが 戻り値として戻ってくるかと思いますが、その戻り値は変数で受けなくても 特に問題にはならないのでしょうか? 例えば、 CallableStatement st = Conn.prepareCall("{call GetXXX}"); st.executeQuery(); を実行したときの、ResultSetや CallableStatement st = Conn.prepareCall("{call GetXXX}"); st.executeUpdate(); を実行したときのintは 変数で受けてなくても良いのでしょうか? |
|
投稿日時: 2004-03-24 21:10
質問の意図は「関数の戻り値を受け取らなくても良いか?」で宜しいでしょうか?
必要が無いなら受け取らなくても良いです。 ここ読むと疑問が解決するかな? [ メッセージ編集済み 編集者: ぽん 編集日時 2004-03-24 21:13 ] |
|
投稿日時: 2004-03-24 21:16
ぽんさん、ありがとうございます。
「関数の戻り値を受け取らなくても良いか?」であってます。 紛らわしい質問でご迷惑をおかけしました。 ありがとうございました。 |
1
