Конференция "Базы" » Не срабатывает запрос поиска по датам
 
  • Разведка (09.06.12 21:04) [0]
    Нужно найти все записи в диапазоне дат
    Хоть лбом бейся од стену, такой запрос не срабатывает.
    Все параметры проверял неоднократно на правильность типов и правильность ввода.

       
    Query.SQL.Add('SELECT * FROM TabInput');
    Query.SQL.Add('WHERE FDate >= :FDate AND FDate <= :FDtMax');
    Query.Parameters.ParamByName('FDtMax').Value := DT;
    Query.Parameters.ParamByName('FDate').Value  := QueryOutput.FieldByName('FDate').Value;

  • Ega23 © (09.06.12 21:10) [1]
    0. А может в таблице таких дат нету? :)
    1. Попробуй
    Query.Parameters.ParamByName('FDtMax').AsDateTime := DT;


    2. В вопросе п базам не указывать СУБД - моветон.

    А-а-а, это наша доблестная Разветка. Ну-ну.
  • sniknik © (09.06.12 21:53) [2]
    > Все параметры проверял неоднократно на правильность типов и правильность ввода.
    неважно что ты там сам себе проверял... раз спрашиваешь\не получилось, значит неправильно проверял, значить должен показать их правильность сюда.
    также и код должен быть не кастрированным, а завершённым куском с начала и до конца операции. + какого типа переменные, какие значения...

    > А-а-а, это наша доблестная Разветка. Ну-ну.
    партизан. логичнее.
  • Разведка (09.06.12 22:09) [3]

    > Ega23 ©   (09.06.12 21:10) [1]


    ADO Access
  • sniknik © (09.06.12 23:23) [4]
    тогда 2 возможные проблемы Query и типы параметров. третья никуда не девалась с самого начала - "А может в таблице таких дат нету?".
  • sniknik © (09.06.12 23:24) [5]
    + забыл, 4я дублирующиеся параметры... хотя, это "подроблема" Query, т.что нормально.
  • Германн © (10.06.12 00:34) [6]
    ParamCheck ?
  • Плохиш © (10.06.12 18:34) [7]

    > Query.SQL.Add('SELECT * FROM TabInput');
    >

    А запрос всё добавляется и добавляется...
  • Германн © (11.06.12 00:58) [8]

    > Разведка   (09.06.12 21:04)
    >
    > Нужно найти все записи в диапазоне дат
    > Хоть лбом бейся од стену, такой запрос не срабатывает.

    Вот первый вопрос на собеседовании - "Как правильно задать вопрос на форуме программистов?"
    Что значит "запрос не срабатывает" ?
  • dolmat (18.06.12 16:10) [9]
    Query.Parameters.ParamByName('FDtMax').asDate := DT; Пробовал?
  • stas © (18.06.12 16:25) [10]
    Разведка   (09.06.12 21:04)
    Акцесс автоматически не определяет типы параметров надо их явно указывать
    Query.Parameters.DataType = ftDateTime;
  • Ega23 © (18.06.12 23:48) [11]

    > Акцесс автоматически не определяет типы параметров надо
    > их явно указывать


    Да ладно???
  • Труп Васи Доброго © (19.06.12 09:45) [12]
    Первое это проверь о чём сказал Плохиш
    > А запрос всё добавляется и добавляется...

    Второе - ну выведи ты свой текст запроса перед тем как его выполнить (после установки всех параметров) на экран (хоть в месэджбокс) и глазами на него посмотри, чтобы ты его полностью видел. И сюда желательно этот текст запостить, Тогда отпадут все вопросы про "правильность" и "проверку" параметров и чего либо ещё.
  • stas © (19.06.12 10:18) [13]
    Ega23 ©   (18.06.12 23:48) [11]
    Я не встречал чтобы автоматом определялись типы параметров если СУБД акцесс, да и на этом форуме подобный вопросы возникают периодически.
    У тебя определяет?
  • Ega23 © (19.06.12 11:08) [14]

    > Я не встречал чтобы автоматом определялись типы параметров
    > если СУБД акцесс, да и на этом форуме подобный вопросы возникают
    > периодически.
    > У тебя определяет?


    Честно говоря, я пока ещё не встречал СУБД, которая параметры не определяет, если:
    1. Компоненту задан валидный Connection
    2. ParamCheck = True

    Возможно не совсем корректное определение параметров: строка > 255 как BLOB, smallint - int, с numeric у ADO бяда и т.д.
    Но вот чтобы "автоматически не определяет" - весь опыт протестует.

    Хотя с Access дела не имел, это да.
  • Anatoly Podgoretsky © (19.06.12 12:23) [15]
    > stas  (19.06.2012 10:18:13)  [13]

    У меня определяет, без каких либо проблем.
 
Конференция "Базы" » Не срабатывает запрос поиска по датам
Есть новые Нет новых   [119759   +62][b:0][p:0.002]