[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 09/27 12:34 / Filesize : 223 KB / Number-of Response : 857
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド100【大歓迎】



362 名前:デフォルトの名無しさん [2007/04/13(金) 11:33:36 ]
よろしくお願いします。

Win2003 + Java + struts + spring + JDBC + Oracleでのシステムなのですが
不可思議な動きをして困っています。

例えばIDがユニークキーとなるテーブルがあったとして

//テーブルに該当するIDがあれば削除する。;
List ret = DBSearch.search(id);
if(ret != null || ret.isEmpty){
DBDelete del = new DBDelete();
del.delete(id);
}
//テーブルにレコードをinsert
DBInsert ins = new DBInsert();
ins.insert(id);

のようなロジックを組んで、実際にサーバ上で走らせてみるとDBのユニークキーエラーが出たり出なかったりします。
一度エラーが出ても、もう一回同じ処理を走らせると正常終了したりします。

どこかで「Javaのvoiのvoidは戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」
と言う話を聞いたことがありまして、
もしそうなら上記のdel.delete(id)よりも先にins.insert(id)が走ってしまい、ユニークキーエラーになるのかな
と思い御相談させていただきました。


「Javaのvoid関数は戻り値がないため、関数を呼び出したらその終了を待たずに次の処理に行く」
というのは本当でしょうか。?

意味がなくてもbooleanやlongなどの戻り値をつけたほうが良いのでしょうか??








[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<223KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef