Форум: "Начинающим";
Текущий архив: 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.066 c