| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > Разные результаты при использовании WHERE |
| Автор: Antony41 12.4.2013, 21:45 | ||||
| Сабж. Запарился уже. знаю FireBird много не много. Вобще наблюдалось ли в версии 2,5 при запросах к таблицам через WHERE разные результаты? делаю так
по окончанию выполняю следующее
Каждый раз разное кол-во записей. В момент проверки база не используется ни какой программой. |
| Автор: Akina 12.4.2013, 23:45 |
| А где у тебя тут количество записей? Ты просто проверяешь, нулевое оно или нет... |
| Автор: Antony41 13.4.2013, 07:26 |
| Вот именно я делаю запрос в базу данных, затем проверяю если запись нашлась, то увеличить счетчик. то есть выполняю этот запрос в цикле, и все время один и тот же, а вот по окончанию я смотрю результат, и счетчик то на единицу меньше то больше то равен и т.д. Добавлено через 44 секунды то есть в какой то момент он просто не получает запись, а иногда получает что за ... |
| Автор: password 13.4.2013, 10:18 | ||||
Откуда ты берешь значения: fDataStruct.GROUPID? из другой базы данных? И зачем цикл, если можно сделать все sql-ем
|
| Автор: Akella 13.4.2013, 14:55 | ||
а ты там напиши конкретное значение
И что у тебя с feth? Может fetch происходит через раз? |
| Автор: Antony41 13.4.2013, 15:02 | ||
| блин причина была в задержке тоесть я в цикле через каждую сек. выполнял Application.ProcessMessages, не понятно почему так получается, но проблему решил. А вот за это
отдельное спасибо Добавлено через 5 минут и 35 секунд смотрите я получаю все записи из таблицы, затем я пробегаюсь по полям LASTDATETIME(TDateTime), и проверяю если значение которое я в данный момент прохожу в цикле входит в заданный диапазон, то тогда я начинаю уже обращение ко второй базе тоесть например я получил значение 12.04.2013 18:05:55 и проверяю входит ли оно в диапазон дат от 01.01.2013 по 12.05.2013 Можно ли как то получить все записи одним запросом которые входят в диапазон? Добавлено через 7 минут и 6 секунд проще говоря я выдераю из поля значение времени и проверяю его в функции DateTimeInRange(DateStart, DateEnd, Value):Boolean |
| Автор: password 13.4.2013, 19:49 | ||||
както так:
|
| Автор: Antony41 13.4.2013, 21:53 |
| спасибо чуть позже поэкспериментирую и отпишусь |
| Автор: Antony41 13.2.2014, 03:17 |
| всё отлично раотает спасибо Вам всем за помощь. Не совсем конечно вовремя ответил |