Исключение несоответствия типа при доступе к дате из 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
Проверьте документацию для вашей системы баз данных, они не все точно такие же.