Хранить стоимость Восходило к Java в MySQL

Я пробую хранить в реестре MySQL стоимость java.util.Date что содержал дату и час совместно. Я попытался с этим:

java.util.Date d = new java.util.Date();  
plantilla = new SimpleDateFormat("dd/MM/yyyy H:mm");
String tiempo = plantilla.format(d);

И потом записывать в MySQL стоимость tiempo но оно не функционирует. Я не знаю, должен использовать ли я класс java.sql.Date. В любом случае я иду потерянным.

Я могу записывать прямо в грубое стоимость java.util.Date в MySQL определяя поле с другим отличным типом в DATETIME или он не является рекомендуемым?

2
задан 22.05.2016, 23:24
3 ответа

Ты можешь делать это, если твоего поля в базе данных один, датируйте, tenes, который конвертировать java.util. Восходите в java.sql. Датируйте

java.sql.Date date2 = new java.sql.Date(d.getTime());

Тогда обрежь использовать preparedStatement и использовать date2 для insert

1
ответ дан 24.11.2019, 14:19
  • 1
    Тип java.sql.Date хранит только дату, теряется informaci и # 243; n часа. –  22.05.2016, 23:14

ВїPuedo записывать прямо в грубое стоимость java.util. Восходите в MySQL определяя поле с другим типом, отличным от DATETIME или он не является рекомендуемым?

JDBC он не выносит реестр прямых инстанций java.util.Date. В Вашем месте, у тебя есть три класса в пакете java.sql, которые они увеличивают java.util.Date для того, чтобы ты смог реализовывать ее operaciГіn:

  • java.sql.Date. Этот одинокий тип хранит дату. Теряют ее informaciГіn часа. Эквивалентный типу sql DATE.
  • java.sql.Time. Этот одинокий тип хранит час. Теряют ее informaciГіn даты. Эквивалентный типу sql 'ТАЙМ.
  • java.sql.Timestamp. Этот тип хранит так дату и час. Эквивалентный типу sql DATETIME и TIMESTAMP, в зависимости от опоры, у которой есть механизм базы данных.

Для твоего случая, я рекомендую тебе создавать инстанцию Timestamp начиная с твоего объекта java.util.Date asГ-:

java.util.Date miObjetoJavaUtilDate = ...
Timestamp timestamp = new Timestamp(miObjetoJavaUtilDate.getTime());
PreparedStatement pstmt = ...
//...
pstmt.setTimestamp(1, timestamp);

И чтобы получать объект java.util.Date с Timestamp:

PreparedStatement pstmt = ...
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
    Date miFechaYHora = new Date(rs.getTimestamp(1).getTime());
}

ты Можешь создавать и получать инстанции других классов java.sql.Date и java.sql.Time из сходного способа.

2
ответ дан 24.11.2019, 14:19

1. - Первый шаг в твоей базе данных состоит в том, чтобы наблюдать, что поле, где он пойдет дата, было в формате date или datetime что является тем, кто позволяет сохранять даты.

2. - Ты будешь должен делать превращение внутри программы. Это - это, чтобы распределять стоимость:

try {
     String formato = comboFormato.getSelectedItem().toString();
     //Formato
     Date date = SelectorFecha.getDate();
     SimpleDateFormat sdf = new SimpleDateFormat(formato);
     txtFechaSeleccionada.setText(sdf.format(date));
} catch(NullPointerException ex) {
     JOptionPane.showMessageDialog(this, "¡Al menos selecciona una fecha válida!", "¡Error!", JOptionPane.INFORMATION_MESSAGE);
}

3. - После ты будешь должен отделять поля, чтобы составлять дату:

int año = SelectorFecha.getCalendar().get(Calendar.YEAR);
int mes = SelectorFecha.getCalendar().get(Calendar.MONTH) + 1;
int dia = SelectorFecha.getCalendar().get(Calendar.DAY_OF_MONTH);
txtDía.setText("" + dia);
txtMes.setText("" + mes);
txtAño.setText("" + año);

4. - В конце концов оцени это ты прилагаешь их и результат ты даешь это ему твоему изменчивому типу date

Я присоединяю: http://blog.rolandopalermo.com/2009/12/capturando-fechas-de-un-jdatechooser.html

0
ответ дан 24.11.2019, 14:19

Теги

Похожие вопросы