2

ダイアログに 2 つの jDateChooser があり、そのデータ型に問題がある MS-SQL DB に保存したいと考えています。この問題を解決する方法を教えてください。DBでデータ型をnvarcharに変換し、値をjDateChooserから返される文字列に変換する場合にのみ、これを行うことができます。

ここに画像の説明を入力

// この方法で保存できますが、jDateChooser は使用しません。

   java.util.Date utilDate = new java.util.Date();
   java.sql.Date sqldate = new java.sql.Date(utilDate.getTime());

// jDateChooser で日付を保存できません

    java.sql.Date sqldate = new java.sql.Date(jDateChooser3.getDate());

// 私が見つけた唯一の方法

  SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

  String sd = dateFormat.format(jDateChooser3.getDate());

  obj.setStartDate(sd);

///

4

3 に答える 3

5

投稿したコードから判断すると、コンストラクターが日付/時刻をミリ秒値として期待している間にインスタンスをjDateChooser3.getDate()返すように見えます。java.util.Datejava.sql.Date(millis)long

このコードを使用すると動作します:

java.sql.Date sqldate = new java.sql.Date(jDateChooser3.getDate().getTime());

これは日付選択コンポーネントからのものであるため、無効な入力によりnull日付が返される可能性が最も高いため、それについても確認することをお勧めします。

java.util.Date d = jDateChooser3.getDate();
if (d == null) {
    System.out.println("No date specified!");
} else {
    java.sql.Date sqldate = new java.sql.Date(d.getTime());
    // Do something with sqldate
}
于 2014-05-09T12:34:04.790 に答える
0

jDateChooser を右クリックします。プロパティとdateFormatStringに移動します。この形式を設定します: dd-MM-yyyy。

于 2015-05-20T21:21:42.313 に答える