- PR -

PreparedStatement#setDate(int,Date)でのNULL登録について

1
投稿者投稿内容
住所不明
会議室デビュー日: 2004/03/24
投稿数: 8
投稿日時: 2004-05-18 18:45
お世話になっています。住所不明と申します。
標題にある通り、基本的な話ですがPreparedStatement#setDate(int,Date)
の動作について不明な点がありますので教えて下さい。
動作確認できる環境があればいいのですが・・・。

DB(Oracle)のDate型のカラムにNullを登録したい場合
以下のような記述で、setDateを使用してNullを登録できるのでしょうか?
それとも必ずPreparedStatement#setNullを使用しないと駄目なのでしょうか?
ご存知の方がいましたら、教えて下さい。
--------------------------------------------------------------------
〜(略)〜

PreparedStatement pstmt = conn.prepareStatement("INSERT INTO employee VALUES (?)");
pstmt.setDate(1,null)
pstmt.executeUpdate();
conn.commit();

〜(略)〜
-------------------------------------------------------------------

以上
よろしくお願いいたします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-05-18 18:55
やってみたらどうなりました?
ちば
大ベテラン
会議室デビュー日: 2003/02/14
投稿数: 114
お住まい・勤務地: 都内勤務
投稿日時: 2004-05-18 21:55
ちばです。
引用:

setDateを使用してNullを登録できるのでしょうか?


できますよ。

こういうのはインギさんもおっしゃられていますが、自分でコード書いて実行してみるのが
一番だと思います。
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2004-05-19 11:33
決して揚げ足取りのつもりはないのですが、

引用:

ちばさんの書き込み (2004-05-18 21:55) より:
こういうのはインギさんもおっしゃられていますが、自分でコード書いて実行してみるのが一番だと思います。



できる=正しいアプローチ、とは限らない場合もあったりするので、注意が必要かなと思います。

できるんだけどより良い手段がある
できるんだけど下位互換機能で推奨されない
できること自体がバグ

やってみるはもちろん大事、その前後にマニュアルやスペックで裏をとるのも大事、こういう掲示板で人の意見を聞いてみるのも大事、ですよね?
悶吉
会議室デビュー日: 2004/03/30
投稿数: 14
投稿日時: 2004-05-19 11:48
#スレの趣旨とそれてしまってますが、ご容赦下さい

今回の住所不明さんの場合、動確の出来る環境がないとおっしゃってるのでここで質問されたのでしょう。
「自分で試して」から裏を取るのが一番良いのかと。

#この掲示板に限らず、何も試さず教えてくれって人が多いのも事実ですが・・・

[ メッセージ編集済み 編集者: 悶吉 編集日時 2004-05-19 11:49 ]
住所不明
会議室デビュー日: 2004/03/24
投稿数: 8
投稿日時: 2004-05-19 23:10
お世話になっております。
住所不明です。

レスをいただけた皆様、ありがとうございます。

SUNに掲載されいる「JDBC API 入門:6.1.5 JDBC NULL の IN パラメータとしての送信」
ではできると記述されているのを見てはいたのですが、動作確認できる環境が手元になく
質問させていただきました。#急ぎだったもので。

今日時間が取れましたので、環境を作って試してみたところ可能でした。

お手数をおかけいたしました。
またよろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)