0

日付フィールドを更新しているときに、更新が NetBeans から機能せず、以下の例外が発生します

Java.sql.sqlexception: char データ型から datetime データ型への変換により、範囲外の datetime 値が発生しました

ただし、同じクエリを実行すると、クエリは SQL Query Analyzer (SQL Server 2000) で正常に動作します。

NetBeans で次のように更新されるように日付値をフォーマットしています。

        JXDatePicker jDatePicker = (JXDatePicker) comp;
        Date date = jDatePicker.getDate();
        if (date != null) {
        try {
            String expectedPattern = "yyyy-MM-dd HH:mm:ss.SSS";
            String currentFormat = "dd-MM-yyyy HH:mm:ss.SSS";

            SimpleDateFormat dateFormatReq = new SimpleDateFormat(expectedPattern);

            SimpleDateFormat dateFormatCurr = new SimpleDateFormat(currentFormat);          

            // To Convert Date To Required Format For DB

            //First Prepare A String In Current Format dd-MM-yyyy
            // Then Convert To The Date In The Current Format dd-MM-yyyy
            // Then Convert Into  String In The Desired Format yyyy-MM-dd
            String strDate =     dateFormatReq.format(dateFormatCurr.parse(dateFormatCurr.format(date)));

        } catch (ParseException ex) {
        Logger.getLogger(ChangeJControlProperties.class.getName()).log(Level.SEVERE, null, ex);
        }

        } 

String query =update myTable
               set date=strDate  where id=myDd

Date 2013-07-05 の場合、正常に更新されます。

Date 2013-06-28 の場合、上記の例外が表示されます

4

1 に答える 1

0

選択されたデフォルトの言語がタイ語だったので、問題は解決しました。英語に変更すると、例外は発生せず、問題はなくなります。

于 2013-07-16T03:57:36.890 に答える