0

私はswingxLabsのコンポーネントjXDatePicker1を使用して日付をグラフィカル形式で選択し、ダービーで作成されたデータベースに保存しようとしています。私のコードはこれでした:

Date date=jXDatePicker1.getDate();

 PreparedStatement statement = connect
      .prepareStatement("INSERT INTO BILLING (DATE, DHRNUMBER) VALUES('"+date+"', "+dhrNumber+")");

私が得ているエラーは次のとおりです。

java.sql.SQLDataException: The syntax of the string representation of a datetime value is incorrect.

私はそれを正しくやっていますか?または、これを解決する他の方法があるかもしれません。

ありがとう

4

2 に答える 2

1

Derby の組み込みの DATE データ型は、ストリング形式の短いリストをサポートしています: http://db.apache.org/derby/docs/10.9/ref/rrefsqlj18730.html

PreparedStatement を使用しているため、最善の方法はステートメントを準備することです。

INSERT INTO BILLING (DATE, DHRNUMBER) VALUES(?,?)

次に、 http ://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html の setDate() および setInt() メソッドを使用して実際の値を置き換えます。

于 2013-04-06T19:48:14.083 に答える
0

この代替手段は私にとって完全に機能しました:

    Date d=jXDatePicker1.getDate();
    System.out.println(d);
    DateFormat df=new SimpleDateFormat("MM/dd/yyyy");
    String date=df.format(d);
    System.out.println(date);

PreparedStatement statement = connect
      .prepareStatement("INSERT INTO BILLING (DATE) VALUES('"+date+"')");
于 2013-04-09T13:06:33.853 に答える