2013-06-20 5 views
1

Я пытаюсь вставить любую заданную дату в моем заявлении в этом формате (например, 11/08/1989, 04/15/1955)Установка конкретной даты в подготовленном заявлении

Heres мой код:

pstmnt = conn.prepareStatement("INSERT INTO user_info VALUES (?,?,?,?,?,?)"); 

pstmnt.setInt(1, max_id); 
      pstmnt.setString(2, f_name); 
      pstmnt.setString(3, l_name); 
      pstmnt.setString(4, email); 
      pstmnt.setString(5, username); 
      pstmnt.setDate(6, ?); 
      pstmnt.addBatch(); 

Я не уверен, как это сделать, учитывая, что многие методы Date устарели.

Любые идеи?

ответ

2

Вы должны передать java.sql.Date объект методу setDate().

pstmt.setDate(6, 
      new java.sql.Date((new 
       SimpleDateFormat("MM/dd/yyyy").parse("11/08/1989")).getTime())); 
+0

IDE говорит мне, что это невозможно сделать – user2297666

+0

Повесьте, я думаю, это была моя ошибка, я вернусь к вам через несколько минут. – user2297666

+0

Это сработало! Ты гений – user2297666

0

Использование SimpleDateFormat:

pstmt.setDate(6, new java.sql.Date(
    new SimpleDateFormat("MM/dd/yyyy").parse("11/08/1989"))); 
+0

Это не работает – user2297666

+0

компилятор дает ошибку «несовместимые типы: java.util.Date не могут быть преобразованы в java.sql.Date» – CocoNess

+0

К сожалению, установил ее. –