|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.12.2010, 08:30 | #1 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
Неправильно работает запрос
Запрос
Код:
Поэтому на мой взгляд не должно быть вообще записей выбрано |
14.12.2010, 08:48 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Что-то я ничего не понял... Можно на базу взглянуть?
Кстати переводить в строку совсем не нужно Код:
I'm learning to live...
|
14.12.2010, 08:58 | #3 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
как именно взглянуть?
Ну смотрите я понимаю этот запрос должне выводить все те записи в которых Дата изменения = параметру Data и Время изменения > параметра Tame. А на деле выводится запись в которой дата = Data и Время = Tame то есть условие работает не так как нужно как будто заместо and выполняется or |
14.12.2010, 10:09 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я думаю, что проблема в том, что в поле "ВРЕМЯ ИЗМЕНЕНИЯ" хранятся ещё и секунды (миллисекунды), которых Вы не видите по какой-то причине!
поэтому "ВРЕМЯ ИЗМЕНЕНИЯ" и оказывается БОЛЬШЕ, чем то время, которое Вы передаёте в запрос! p.s. без примера в виде тестовой БД трудно сказать что-то конкретнее. Но, я бы советовал искать не ошибку в работе SQL запроса, а в тех данных, которые в базе или в тех параметрах, которые Вы передаёте в запрос в качестве параметров. Кстати, Виталий абсолютно прав - TimeToStr абсолютно не нужен. Более того, это может являться причиной "неправильной" работы запроса. |
14.12.2010, 10:16 | #5 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
насчет timetostr и в правду не нужно. нет выводил значения в мемо время имеет формат 7:06:22
а вот в базе если просматривать ее через IbExpert оно имеет вид 07:06:22. А сама программа работает так 2 базы на данный момент с идентичными данными у клиента выбирается запись с максимальным значением даты и времени вот так Код:
похоже проблема действительно с временем((( У кого нибудь есть идеи? База используется FireBird поле Время изменениея имеет тип Time при попытке вывести все это дело в которое выбирается в дбгрид я увидел следующее Время изменения 07:06 Последний раз редактировалось Stilet; 14.12.2010 в 13:30. |
14.12.2010, 11:39 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) то, что Вы делаете двумя запросами в подавляющем большинстве СУБД можно сделать ОДНИМ запросом.
2) выкиньте напрочь DateToStr - он может только навредить. но никак не помочь! Код:
Во многих СУБД есть отдельные программы для управления данными - проверьте, что у Вас внутри таблиц творится (какие типы, какие даннные и прочая) и последнее, можно добавить (если СУБД позволяет) в запрос условие, чтобы заданное вами время было не просто больше/или меньше, но чтобы оно отличалось более чем на какой-то интервал... ну типа такого select * from таблица where ДАтаИзменения = t and ВремяИзменения > :tm and (ВремяИзменения-:tm)>1 |
15.12.2010, 02:21 | #7 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 587
|
СУБД FireBird
Если просматривать таблицу при помощи IbExpert то время отображается в формате hh/mm/ss поле имеет тип time не каких дополнительных функций работающих с этим полем не писалось. Убрал DateToStr. После некоторых манипуляций выяснил что в DBGrid время отображается hh/mm а если это поле вывести например в мемо то получаем время типа hh/mm/ss удалось устранить ошибку так при добовлении новой записи в таблицу указал формат Код:
Код:
Последний раз редактировалось Stilet; 15.12.2010 в 10:31. |
15.12.2010, 06:49 | #8 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
можно, конечно, было побороться и с последствиями, но если есть возможность избежать "танцев с бубном" - почему бы этим не пользоваться?! Поздравляю. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TextRect работает неправильно | bbk_serg | БД в Delphi | 16 | 10.08.2010 21:11 |
неправильно работает сортировка | Brabus | Помощь студентам | 1 | 30.05.2010 14:25 |
Неправильно работает WinExec? | TwiX | Общие вопросы Delphi | 2 | 26.11.2009 21:07 |
Скрипт неправильно работает | aleksa76 | JavaScript, Ajax | 4 | 21.05.2008 17:47 |
Запрос неправильно работает... | yulia | БД в Delphi | 0 | 27.05.2007 20:41 |