Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

ADOQuery + SQL-выборка по дате!!!   Найти похожие ветки 

 
Kukulkan   (2010-04-17 23:43) [0]

Не мог понять в чём проблема!!!

Есть таблица из базы данных которая создана в Аксесе, из которой нужно получать даный по дате! Поле ДАТА храниться в формате ДД.ММ.РРРР
Вот код который я использую в Делфи:

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-17 23:52) [1]


> Kukulkan   (17.04.10 23:43)  


with datamodule2 do
begin
 DataQuery.Active := false;
    with DataQuery do
      begin
        SQL.Text:="select * from [аренда]  where [дата]=:PARAM";
        Parameters.ParamValues[PARAM]:=i;
      end;
end;

писал от руки..
основной смысл в том, что надо использовать параметры..


 
turbouser ©   (2010-04-17 23:53) [2]


> ParamValues["PARAM"]


 
turbouser ©   (2010-04-17 23:55) [3]

DataQuery.Active := true;
:)
суббота.. вечер.. :)


 
turbouser ©   (2010-04-18 00:01) [4]


> Kukulkan   (17.04.10 23:43)  

а, и еще.. звездочки в запросе низя ставить.. выбирай то, что надо.


 
Anatoly Podgoretsky ©   (2010-04-18 00:24) [5]

> Kukulkan  (17.04.2010 23:43:00)  [0]

Надо переделать таблицу, дату надо сделать в формате даты, а не "ДД.ММ.РРРР"
Иначе горя хлебнете гораздо больше.


 
Kukulkan   (2010-04-18 00:33) [6]

спосибо))))


 
turbouser ©   (2010-04-18 00:35) [7]


> Anatoly Podgoretsky ©   (18.04.10 00:24) [5]


> Надо переделать таблицу

Это почему? У автора просто поле с датой, не строковое.. В соответствии с локалью видит  
> ДАТА храниться в формате ДД.ММ.РРРР

(вместо РРРР - YYYY, очепятка, как подсказывает телепатор) и всех делов..


 
Kukulkan   (2010-04-18 00:39) [8]


> 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:50) [9]


> Anatoly Podgoretsky ©   (18.04.10 00:24) [5]

Не сломался еще мой телепатор :))


 
sniknik ©   (2010-04-18 01:04) [10]

> Причём поле имеет тип данных не текстовой а именно даты!!!
вещи не совместимые, либо дата, либо строка в формате ... физическое хранение и форма визуального представления - разные вещи.

> Не сломался еще мой телепатор :))
толку то. до него то до сих пор ничего не дошло...


 
Германн ©   (2010-04-18 01:06) [11]


> > Не сломался еще мой телепатор :))
> толку то. до него то до сих пор ничего не дошло...

Зато turbouser © успокоился. А то
> суббота.. вечер.. :)


 
Kukulkan   (2010-04-18 01:08) [12]


> вещи не совместимые, либо дата, либо строка в формате ..
> . физическое хранение и форма визуального представления
> - разные вещи.

Да я это понимаю!!! Так кто нить посоветует что мне делать!!!???


 
turbouser ©   (2010-04-18 01:10) [13]


> sniknik ©   (18.04.10 01:04) [10]


> толку то. до него то до сих пор ничего не дошло...

Быть может, дойдет.. Хотя..


 
turbouser ©   (2010-04-18 01:11) [14]


> Kukulkan   (18.04.10 01:08) [12]

Мда..


 
Kukulkan   (2010-04-18 01:16) [15]

Удалено модератором


 
sniknik ©   (2010-04-18 01:20) [16]

> Так кто нить посоветует что мне делать!!!???
мантру на ночь "дата = число", "дата = число". повторять по 200 раз пока не дойдет.
когда "укорениться" можно поговорить о более сложных случаях когда дата не совсем число, а например рекорд.


 
sniknik ©   (2010-04-18 01:22) [17]

+ формата ни у простого ни у "сложных" случаев нет, он есть только у представления числа в строке (для отображения. в основном).


 
Германн ©   (2010-04-18 01:25) [18]


>
> Да я это понимаю!!! Так кто нить посоветует что мне делать!
> !!???

Во-первых
> основной смысл в том, что надо использовать параметры
.
Во-вторых книжки читать.


 
Kukulkan   (2010-04-18 01:36) [19]


> мантру на ночь "дата = число", "дата = число". повторять
> по 200 раз пока не дойдет.
> когда "укорениться" можно поговорить о более сложных случаях
> когда дата не совсем число, а например рекорд.


если б написали раз нормально я б и понял сразу!!! А то я одно спрашиваю а мне другое говорят!!! Я понимаю что то что мы видим  в таблицах на экране в физичеськом виде внутри базы данных может выглядеть подругом!!! Но я то не обэтом справшивал!!! Я же ясно изложил суть проблемы каторая у меня возникла!!! Потомучто при работе с моей базой, её таблицами проблем не было!! Выборка как по текстовым так и по числовым полям нормально работала!! А из полем Дата возникла така я вот ситуация!!! Непонимаю вас!!! Я спросил то и то а мне в ответ со всём другое!!! Я же вроде бы понятно написал поле то у меня емеет тип данных Дата, тоесть оно не евляеться текстовым!!! Разве я неправильно излагаю суть проблемы?!


 
Kukulkan   (2010-04-18 01:39) [20]

Удалено модератором


 
Kukulkan   (2010-04-18 01:41) [21]

А что "сверх умы" скажут на это сообщение которое я получил в ответ на такую же тему на одном форуме:


формат даты разный...
у вас 23.03.2010, а акцесс хочет видеть 23/03/2010
как решение попробуй
Код:

DateSeparator := "/";


????


 
turbouser ©   (2010-04-18 01:49) [22]


> Kukulkan   (18.04.10 01:39) [20]


> Ага!!! Может мне ещё в первый клас вернуться!!!????

Типичный ламер. Ну надо же. Прям по всем признакам.


 
turbouser ©   (2010-04-18 01:57) [23]


> Kukulkan   (18.04.10 01:41) [21]
>
> А что "сверх умы" скажут

Скажут, что не*** волнует. Форумов много. Таких же как ты тоже тьма. На том форуме или над тобой посмеялись, или там идиоты отвечали.


 
Игорь Шевченко ©   (2010-04-18 01:57) [24]

Kukulkan   (18.04.10 01:36) [19]

Орать не надо, здесь глухих нет


 
Германн ©   (2010-04-18 01:57) [25]


> Может мне ещё в первый клас вернуться!!!????

В детский сад. В песочницу.


 
Kukulkan   (2010-04-18 02:00) [26]

Удалено модератором


 
Kukulkan   (2010-04-18 02:04) [27]


> Игорь Шевченко

А не кто и не орьот!!! Просто в шоке с таких людей которые ставлят из себя богов!!! Если такие умные нафиг сидеть на этих формах?!

Я просто а шоке! Вместо помощи одна хрень в ответ!
На том форуме по другому вопросу мне ответили раз и мне всьо понятно стало!!! А тут пытаються просто впарить что я полный 0 в програмировани!!! Ну и флаг вам!..


 
Плохиш ©   (2010-04-18 02:05) [28]


> Не понимаю смысл писать мне в ответ всю эту лабоду а не
> дать совет!

Хм, совет дали в первом же ответе и не просто совет, а код подали нищему и обездоленному. А он всё скулит...

Зачем оно тебе, это программирование? Есть много других занятий.


 
Плохиш ©   (2010-04-18 02:06) [29]


> Kukulkan   (18.04.10 02:04) [27]

LMD


 
Kukulkan   (2010-04-18 02:06) [30]

Удалено модератором


 
sniknik ©   (2010-04-18 02:08) [31]

> Непонимаю вас!!! Я спросил то и то а мне в ответ со всём другое!!!
я точно также не понимаю тебя. раз ты говоришь понял, что  на экране и внутри базы разные вещи, + поле имеет тип данных дата (т.есть НЕ является текстовым). то какой нафиг у него формат? чего ты к нему прицепился?


 
Kukulkan   (2010-04-18 02:10) [32]

Удалено модератором


 
sniknik ©   (2010-04-18 02:11) [33]

> со всём другое!!!
это то самое, именно в контексте вопроса (0) про "хранится". просто ты очевидно до сих пор не понял.


 
Kukulkan   (2010-04-18 02:13) [34]


> sniknik ©   (18.04.10 02:08) [31]
>
> > Непонимаю вас!!! Я спросил то и то а мне в ответ со всём
> другое!!!
> я точно также не понимаю тебя. раз ты говоришь понял, что
>  на экране и внутри базы разные вещи, + поле имеет тип данных
> дата (т.есть НЕ является текстовым). то какой нафиг у него
> формат? чего ты к нему прицепился?


Во-первых  возможно я ошибся написав вместо тип даных формат поля!!! Тут наверное неправ!!! Да у него тип данных Дата!!! Там сначала написали использовать в запросе параметры!!! А нельзя без них?! По остальным полям запросы нормально работали и без параметров?!


 
sniknik ©   (2010-04-18 02:13) [35]

> Параметры говорите?! Я попробую завтра!
а до сих пор ты, что делал? т.е. "не понимаю ответ, значит выкину и забуду"... так? хорошо "наезжать" начали, сподвигли таки на пробу.


 
Германн ©   (2010-04-18 02:13) [36]


> Ладно! Параметры говорите?! Я попробую завтра! Но не поможет
> тогда вернусь!!!

Испугался. Уже дрожу!

P.S. Первый раз пишу в своём сообщении эти три буквы LMD! Но уж просто нет других букв! :)


 
sniknik ©   (2010-04-18 02:17) [37]

> А нельзя без них?
можно, но это неправильно. это как переходить улицу на красный свет. может и не насмерть, но проблемы когда нибудь все одно будут.
и понимать нужно больше, и вообще это сложнее, а ты на простом "уперся".


 
Kukulkan   (2010-04-18 02:17) [38]


> > Параметры говорите?! Я попробую завтра!
> а до сих пор ты, что делал? т.е. "не понимаю ответ, значит
> выкину и забуду"... так? хорошо "наезжать" начали, сподвигли
> таки на пробу.


Да не в этом дело! Я просто разузнать решил эту проблему которая возникла у меня!!! Сейчас протсо другим занимаюсь!!! То что написали я попробую! + до всего я написал выше чего я пытался ещё добиться в ответ! Почему Аксес так ведёт себя?! Ну в талицю заносит дату как 15.12.2010 а в запросе используеться 15/12/2010?! Если у он хранит её в другом виде то что же получаеться - тока параметры помогут решить дану проблему?!


 
Kukulkan   (2010-04-18 02:19) [39]

Удалено модератором


 
turbouser ©   (2010-04-18 02:19) [40]


> Kukulkan   (18.04.10 02:00) [26]
>
> Ты по нескольким смс определяешь как человек!!!??? Слов
> нету!!!

смс? как человек? слов нету?
лет 14-16.



Страницы: 1 2 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.052 c
15-1266186779
OneYoungMan
2010-02-15 01:32
2010.08.27
Очистка cd и dvd дисков...


2-1269849342
senatormisha
2010-03-29 11:55
2010.08.27
Перезапуск формы


15-1273012753
Игорь
2010-05-05 02:39
2010.08.27
madCodeHook


11-1215682259
andreil
2008-07-10 13:30
2010.08.27
Как убрать рамку у окна только визуально?


3-1237837778
Гарик
2009-03-23 22:49
2010.08.27
Вызов хранимых процедур