Вставка даты в базу данных с использованием PreparedStatement в Java - PullRequest
2 голосов
/ 27 февраля 2012

У меня есть форма, которая фиксирует дату, которую пользователь ввел в JFormattedTextField.Затем Дата должна быть сохранена в базе данных (postgresql) с использованием PreparedStatement.У меня появляются сообщения об ошибках в строке pStat.setDate (4, dob);.

 Date dob = (Date)ftxtDOB.getValue();
       String add = txtAddress.getText();
       String country = txtCountry.getText();
       try {
           Class.forName("org.postgresql.Driver");
           conn = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/postgres", "postgres","cisco");

           pStat = conn.prepareStatement("INSERT INTO customer_info VALUES (?,?,?,?,?,?)");
           pStat.setString(1, id);
           pStat.setString(2, surname);
           pStat.setString(3, fName);
           pStat.setDate(4, dob);
       }catch(Exception e){

       }

Редактировать: у меня есть это сообщение об ошибке от компилятора.Я использовал:

    pStat.setDate(4, new java.sql.Date(dob.getTime()));

1 Ответ

6 голосов
/ 27 февраля 2012

Какое сообщение об ошибке?

Предполагая, что это на самом деле сообщение об ошибке компилятора, вы уверены, что используете java.sql.Date, а не java.util.Date?

Редактировать: Как вы редактировали вопрос,да, вам понадобится new java.sql.Date(date.getTime()) или что-то еще (обработка данных в Java - беспорядок! (на данный момент)).

...