Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 2
Регистрация: 28.09.2012
Сообщений: 161
1

Что не так ?

11.10.2013, 13:15. Показов 580. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что не так в тексте запроса?

Java
1
querry2 = "select * from AnalisisDate where Ad_date='" + currentDate+ "'";
currentDate это Date currentDate = new Date();

таблица берется с бд MS Access

когда пробую выдает ошибку: java.sql.SQLException: [Microsoft][Драйвер ODBC Microsoft Access] Несоответствие типов данных в выражении условия отбора.

как правильно составить запрос с использованием типа данных Date
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2013, 13:15
Ответы с готовыми решениями:

Что не так с кодом? ( пытаюсь понять, что не так? )
Есть исходный код. Hook, работает хорошо, но есть минус огромный - перестаёт писать в лог, при...

И так, что не так с моим запросом на добавление записи в таблицу?
$sql = 'INSERT INTO product ' . '(name, code, price, category_id, brand,...

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее?
Вот код: #include <iostream> #include <conio.h> using namespace std; int main(){ float...

Что в коде ни так? while не работает так, как ожидаю
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от...

8
104 / 104 / 27
Регистрация: 11.08.2011
Сообщений: 301
11.10.2013, 13:23 2
покажите вывод Date currentDate = new Date(); он должен быть в формате год-месяц-дата. В остальных случаях может быть несовпадение данных которые вы хотите вывести с теми, которые вы запрашиваете.
0
0 / 0 / 2
Регистрация: 28.09.2012
Сообщений: 161
11.10.2013, 13:30  [ТС] 3
Цитата Сообщение от Vortal Посмотреть сообщение
покажите вывод Date currentDate = new Date(); он должен быть в формате год-месяц-дата. В остальных случаях может быть несовпадение данных которые вы хотите вывести с теми, которые вы запрашиваете.
Fri Oct 11 11:50:20 EEST 2013

Пробовал так:
Java
1
2
3
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
String endDate = sdf.format(currentDate);
querry2 = "select * from AnalisisDate where Ad_date='" + endDate+ "'";
так выдает тоже самое - не совместимость форматов String u Date
0
2586 / 2259 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
11.10.2013, 13:48 4
neger, почему бы вам не почитать для начала JDBC FAQ для начинающих
0
104 / 104 / 27
Регистрация: 11.08.2011
Сообщений: 301
11.10.2013, 13:48 5
покажите вывод строки endDate
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
11.10.2013, 14:04 6
Цитата Сообщение от neger Посмотреть сообщение
querry2 = "select * from AnalisisDate where Ad_date='" + currentDate+ "'";
Вообще делать так, очень плохая затея, особенно если юзер может ввести эти значения во время работы программы , лучше заюзать PreparedStatement , это вас избавит от вопросов ссвязанных с
"java.sql.SQLException: [Microsoft][Драйвер ODBC Microsoft Access] Несоответствие типов данных в выражении условия отбора."
и код сделает красивше.

Не по теме:

Ах да, забыл добавить, в java классов Date - несколько штук. Один из них java.sql.Date - вам понадобится :)

0
0 / 0 / 2
Регистрация: 28.09.2012
Сообщений: 161
11.10.2013, 14:06  [ТС] 7
Цитата Сообщение от Vortal Посмотреть сообщение
покажите вывод строки endDate
endDate = 11/10/2013

Ошибка наверное в том, что я использую тип данных Date с пакета java.util.Date , а надо java.sql.Date.
0
78 / 78 / 9
Регистрация: 28.10.2011
Сообщений: 219
11.10.2013, 14:24 8
если препеад стейтменты не хотите то тогда так :

"select * from AnalisisDate where Ad_date= to_date(\'"+endDate+"\',\'DD/MM/YYYY\')"

Не по теме:

надеюсь всё правильно экранировал :)



при условии что у вас endDate = 11/10/2013 - в таком формате (java.util.Date)
и
java.sql.Date - нужна исключительно для препеад стейтментов

Добавлено через 2 минуты
Цитата Сообщение от neger Посмотреть сообщение
Ошибка наверное в том, что я использую тип данных Date с пакета java.util.Date , а надо java.sql.Date.
Ошибка в том что вы хотитет sql-ю скормить дату в текстовом виде. А ему нада что бы у даты был тип дата а не стринга.

Добавлено через 2 минуты
Проще выражаясь , это тоже самое если бы вас просили что то сделать на киайском языке, китайцы (вы как читающий код в виде текста) поняли бы, а Вы (ваша программа ) нет, потому что говорите на разных языках

Добавлено через 1 минуту
ну а to_date - переводчик с китайского на наш
1
154 / 154 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
11.10.2013, 14:57 9
Цитата Сообщение от warloc69 Посмотреть сообщение
Ошибка в том что вы хотитет sql-ю скормить дату в текстовом виде. А ему нада что бы у даты был тип дата а не стринга.
Буду говорить за PL/SQL:
SQL
1
SELECT * FROM mytable WHERE dt = '01.01.2013'
- работает отлично


SQL
1
SELECT * FROM mytable WHERE dt > '01.01.2013'
- обратно работает


SQL
1
SELECT * FROM mytable WHERE dt - '01.01.2013' > 0
- не работает


SQL
1
SELECT * FROM mytable WHERE dt - TO_DATE('01.01.2013') > 0
- а так работает
1
11.10.2013, 14:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2013, 14:57
Помогаю со студенческими работами здесь

сегодня так можно сказать праздник так что...
простите меня за все пожалуйста!!!

Что не так, почему так происходит?
Вот bat файл @echo off for /f %%A in ('wmic path Win32_NetworkAdapter where "PNPDeviceID like...

Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю
Дело в том что при запуске вот этой программы: #include <iostream> using namespace std; int main...

Как сделать так,что бы программа выбирала за указанием что выбрать
program trainmath; {Программа де ми зможемо,тренирувати наші мат.здібності} var r,a,b,g,p:integer;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru