mysql:6461
From: NAGASAWA Teruo <NAGASAWA Teruo <ml@xxxxxxxxxx>>
Date: Sun, 27 Oct 2002 19:00:01 +0900
Subject: [mysql 06461] Re: datetime 型の列への挿入
長沢です。問題の答えではありませんが、、、 |> String query = "insert into hoge ( date) "; |> query += "values(now())"; |> |> int num = stmt.executeUpdate(query); | |残念ながら、このSQL文を生成する方法は使えません。 |他の列が、Text型で、その中身にシングルクオーテーション |などを含むからです。 単純にエスケープしたいというのであれば、 java.sql.PreparedStatement を使用するのもいいと思います。 PreparedStatement ps = conn.preparedStatement( "insert into hoge(text, int, date) values(?, ?, ?)"); ps.setString(1, "happy 99'"); ps.setInt (2, 2002); ps.setDate (3, new java.sql.Date(varTime); int num = ps.executeUpdate(); この方法であれば、見ての通り、””で囲む必要もありません。 おまけに自動的にエスケープしてくれますし、 DBを切り替えたときも、エスケープフォーマットを気にしなくて済みます。 僕はどうもJDBCが好きになれないんですよね。 コンセプトがよく分からないと言うか、使いづらいと言うか。 いつもは僕専用のラップクラスで使っているんですが。。。 -- NAGASAWA Teruo <ml@xxxxxxxxxx>
6452 2002-10-26 21:57 ["Yasutaka Uematu" <y] datetime 型の列への挿入 6454 2002-10-26 22:32 ┣["TAKAHASHI, Tomohiro] 6455 2002-10-26 22:38 ┗["城" <sora_iro@xxxxx] 6457 2002-10-27 00:15 ┣["城" <sora_iro@xxxxx] 6459 2002-10-27 13:58 ┗["Yasutaka Uematu" <y] 6460 2002-10-27 14:52 ┣["TAKAHASHI, Tomohiro] -> 6461 2002-10-27 19:00 ┗[NAGASAWA Teruo <ml@x] 6462 2002-10-27 19:26 ┣["TAKAHASHI, Tomohiro] 6464 2002-10-27 20:11 ┃┗[NAGASAWA Teruo <ml@x] 6466 2002-10-27 20:23 ┃ ┗["TAKAHASHI, Tomohiro] 6468 2002-10-27 20:56 ┃ ┗[NAGASAWA Teruo <ml@x] 6471 2002-10-28 00:49 ┃ ┣["TAKAHASHI, Tomohiro] 6479 2002-10-28 07:14 ┃ ┃┗[NAGASAWA Teruo <ml@x] 6483 2002-10-28 21:05 ┃ ┃ ┗["TAKAHASHI, Tomohiro] 6472 2002-10-28 01:01 ┃ ┗["TAKAHASHI, Tomohiro] 6478 2002-10-28 07:10 ┃ ┗[NAGASAWA Teruo <ml@x] 6463 2002-10-27 19:55 ┗["Yasutaka Uematu" <y] 6465 2002-10-27 20:13 ┗["TAKAHASHI, Tomohiro] 6467 2002-10-27 20:24 ┗["Yasutaka Uematu" <y]