[前][次][番号順一覧][スレッド一覧]

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]