Member 10962951 Ответов: 0

Исключение несоответствия типа при доступе к дате из java в oledb


При вставке даты этот код в порядке для меня нет никакой ошибки

SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yy");
  String date1 = sdf.format(jDateChooser1.getDate());
  SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy");

java.util.Date date = df.parse(date1);
String query="Insert into customermilk values('"+l[p].getText()+"','"+new java.sql.Date(date.getTime())+"','"+mt+"',"+q1+","+t12+")";
x=stmt.executeUpdate(query);


Но извлекая дату из таблицы он генерирует исключение

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy");
java.util.Date date = df.parse(date1);
query="select * from customermilk where name='"+cust[i]+"' AND date='"+new java.sql.Date(date.getTime())+"'";
ResultSet rs2=stmt.executeQuery(query);

Он генерирует исключение: Exception =java. sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] несоответствие типа данных в выражении критериев.

Что я уже пробовал:

Но извлекая дату из таблицы он генерирует исключение

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy");
java.util.Date date = df.parse(date1);
query="select * from customermilk where name='"+cust[i]+"' AND date='"+new java.sql.Date(date.getTime())+"'";
ResultSet rs2=stmt.executeQuery(query);

Он генерирует исключение: Exception =java. sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] несоответствие типа данных в выражении критериев.

Richard MacCutchan

Прекратите использовать конкатенацию строк для SQL, она оставляет вас открытыми для SQL-инъекций, а также для повреждения и разрушения вашей базы данных. И вы можете упростить свой код, используя правильные типы DateTime в своей базе данных.

Кроме того, почему вы получаете дату как тип даты и преобразуете ее в строку, просто чтобы вы могли разобрать ее обратно на дату?

Member 10962951

можете ли вы привести пример даты obj 1. вставить в 2. Выбрать из
эти 2 запроса

Richard MacCutchan

Проверьте документацию для вашей системы баз данных, они не все точно такие же.

0 Ответов