Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.069 c
2-1269587670
Свободный художник
2010-03-26 10:14
2010.08.27
Захват окна


2-1274946870
Delphist2
2010-05-27 11:54
2010.08.27
подойдет ли TStringList?


2-1268472453
Первокурсница
2010-03-13 12:27
2010.08.27
Программа "Защита от дураков", оператор case


6-1219479860
Rembo
2008-08-23 12:24
2010.08.27
winsock2 клиент сервер connect 10035


2-1274531365
stas
2010-05-22 16:29
2010.08.27
Создать форму в доп. процессе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский