![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADOQuery + SQL-выборка по дате!!! [D7, MS Access]
Kukulkan © (2010-04-17 23:43:00)Не мог понять в чём проблема!!!
Есть таблица из базы данных которая создана в Аксесе, из которой нужно получать даный по дате! Поле ДАТА храниться в формате ДД.ММ.РРРР
Вот код который я использую в Делфи:
procedure TAReview.Button5Click(Sender: TObject);
var
i :TDateTime;
begin
i := strtodate(edit4.text);
datamodule2.DataQuery.Active := false;
datamodule2.DataQuery.SQL.Clear;
datamodule2.DataQuery.SQL.Add('sele ct *');
datamodule2.DataQuery.SQL.Add('from аренда');
datamodule2.DataQuery.SQL.Add('wher e дата = '' + i +''');
datamodule2.DataQuery.Active := true;
end;
Врезультате введьоной в поле даты я получаю сообщение
Несоотвествие типов данных в условии отбора!!!
Пробывал вот просто в аксесе на sql зделать:
select *
from аренда
where дата = '23.03.2010'
Таже ошибка!!!
Я просто в не понятии что же такое!!! Помогите пожалуйста!!! Очень нужно!!! Заранее огромное спасибо!!!
turbouser (2010-04-18 01:57:00) [21]
> Kukulkan (18.04.10 01:41) [21]
>
> А что "сверх умы" скажут
Скажут, что не*** волнует. Форумов много. Таких же как ты тоже тьма. На том форуме или над тобой посмеялись, или там идиоты отвечали.
turbouser (2010-04-18 01:49:00) [22]
> Kukulkan (18.04.10 01:39) [20]
> Ага!!! Может мне ещё в первый клас вернуться!!!????
Типичный ламер. Ну надо же. Прям по всем признакам.
Kukulkan (2010-04-18 01:41:00) [23]А что "сверх умы" скажут на это сообщение которое я получил в ответ на такую же тему на одном форуме:
формат даты разный...
у вас 23.03.2010, а акцесс хочет видеть 23/03/2010
как решение попробуй
Код:
DateSeparator := '/';
????
Kukulkan (2010-04-18 01:39:00) [24]Удалено модератором
Kukulkan (2010-04-18 01:36:00) [25]
> мантру на ночь "дата = число", "дата = число". повторять
> по 200 раз пока не дойдет.
> когда "укорениться" можно поговорить о более сложных случаях
> когда дата не совсем число, а например рекорд.
если б написали раз нормально я б и понял сразу!!! А то я одно спрашиваю а мне другое говорят!!! Я понимаю что то что мы видим в таблицах на экране в физичеськом виде внутри базы данных может выглядеть подругом!!! Но я то не обэтом справшивал!!! Я же ясно изложил суть проблемы каторая у меня возникла!!! Потомучто при работе с моей базой, её таблицами проблем не было!! Выборка как по текстовым так и по числовым полям нормально работала!! А из полем Дата возникла така я вот ситуация!!! Непонимаю вас!!! Я спросил то и то а мне в ответ со всём другое!!! Я же вроде бы понятно написал поле то у меня емеет тип данных Дата, тоесть оно не евляеться текстовым!!! Разве я неправильно излагаю суть проблемы?!
Германн (2010-04-18 01:25:00) [26]
>
> Да я это понимаю!!! Так кто нить посоветует что мне делать!
> !!???
Во-первых
> основной смысл в том, что надо использовать параметры
.
Во-вторых книжки читать.
sniknik (2010-04-18 01:22:00) [27]+ формата ни у простого ни у "сложных" случаев нет, он есть только у представления числа в строке (для отображения. в основном).
sniknik (2010-04-18 01:20:00) [28]> Так кто нить посоветует что мне делать!!!???
мантру на ночь "дата = число", "дата = число". повторять по 200 раз пока не дойдет.
когда "укорениться" можно поговорить о более сложных случаях когда дата не совсем число, а например рекорд.
Kukulkan (2010-04-18 01:16:00) [29]Удалено модератором
turbouser (2010-04-18 01:11:00) [30]
> Kukulkan (18.04.10 01:08) [12]
Мда..
turbouser (2010-04-18 01:10:00) [31]
> sniknik © (18.04.10 01:04) [10]
> толку то. до него то до сих пор ничего не дошло...
Быть может, дойдет.. Хотя..
Kukulkan (2010-04-18 01:08:00) [32]
> вещи не совместимые, либо дата, либо строка в формате ..
> . физическое хранение и форма визуального представления
> - разные вещи.
Да я это понимаю!!! Так кто нить посоветует что мне делать!!!???
Германн (2010-04-18 01:06:00) [33]
> > Не сломался еще мой телепатор :))
> толку то. до него то до сих пор ничего не дошло...
Зато turbouser © успокоился. А то
> суббота.. вечер.. :)
sniknik (2010-04-18 01:04:00) [34]> Причём поле имеет тип данных не текстовой а именно даты!!!
вещи не совместимые, либо дата, либо строка в формате ... физическое хранение и форма визуального представления - разные вещи.
> Не сломался еще мой телепатор :))
толку то. до него то до сих пор ничего не дошло...
turbouser (2010-04-18 00:50:00) [35]
> Anatoly Podgoretsky © (18.04.10 00:24) [5]
Не сломался еще мой телепатор :))
Kukulkan (2010-04-18 00:39:00) [36]
> Anatoly Podgoretsky © (18.04.10 00:24) [5]
>
> > Kukulkan (17.04.2010 23:43:00) [0]
>
> Надо переделать таблицу, дату надо сделать в формате даты,
> а не "ДД.ММ.РРРР"
> Иначе горя хлебнете гораздо больше.
Этим "ДД.ММ.РРРР" я имелл ввиду что у базе в поле дата уменя храниться как 15.12.2010 например а при запросе выдаёт ошибку которою я описал выше!!! На одном форуме мне ответили что аксес требует такой формат 15/12/2010! Я попробовал - запросо заработал!!! Тока вот проблемка - у меня то дата храниться в таком вот формате 15.12.2010! Причём поле имеет тип данных не текстовой а именно даты!!! Так что хоть запрос и заработал то естественно что при таком запросе вот:
select *
from аренда
where дата = 23/03/2010
Я в ответ неполучу никаких даных изза того что у меня даное поле хранит дату в формате 15.12.2010!!! Что же делать мне посоветуете!? Изменить формат хранения даты в таблице?!
turbouser (2010-04-18 00:35:00) [37]
> Anatoly Podgoretsky © (18.04.10 00:24) [5]
> Надо переделать таблицу
Это почему? У автора просто поле с датой, не строковое.. В соответствии с локалью видит
> ДАТА храниться в формате ДД.ММ.РРРР
(вместо РРРР - YYYY, очепятка, как подсказывает телепатор) и всех делов..
Kukulkan (2010-04-18 00:33:00) [38]спосибо))))
Anatoly Podgoretsky (2010-04-18 00:24:00) [39]> Kukulkan (17.04.2010 23:43:00) [0]
Надо переделать таблицу, дату надо сделать в формате даты, а не "ДД.ММ.РРРР"
Иначе горя хлебнете гораздо больше.
turbouser (2010-04-18 00:01:00) [40]
> Kukulkan (17.04.10 23:43)
а, и еще.. звездочки в запросе низя ставить.. выбирай то, что надо.