![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| German |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
В базе есть поле Date типа Date.
Как произвести отбор по этим датам допустим с 09.10.2002 по 09.11.2002 пример кода:
результат параметры можно задовать вида хх.хх и даже при этом ни какого результата только куча ошибок!!! |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
А не проще ли использовать простейший SQL запрос?
Если же надо TTable то отфильтруй значения через TTable.Filter (хотя фильтровку не рекомендую). Или я чего-то непонимаю? -------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Или используй метод SetRange (он объединяет в себе все три метода SetRangeStart, SetRangeEnd и ApplyRange)
Хотя я тебе не рекомендую осуществлять фильтрация по индескным полям... И еще одна заметка, фильтрация методами ApplyRange/SetRange должна производиться только по ключевым полям. Хотя у тебя это и предусмотрено, но возможно здесь у тебя какая-то загвозтка. -------------------- |
|||
|
||||
| German |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Я скуел не знаю |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Далее работаешь с Query1 так как если бы это была таблица. Код писал на вскидку так что могут быть мелкие опечатки -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
В твоём коде ошибка здесь:
Table1date.AsDateTime:=11.11; Компилятор интерпретирует 11.11 как "11 целых 11 сотых". Тип TDateTime - это тип real, где целая часть количество дней прошедших с 1 января 1899 года, а дробная часть - это время... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| German |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Сенькью веримач
|
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Вот простой SQL код:
SELECT Date from TableName where beetwen '01/01/2002' and '31/01/2002' И ненадо мучится TQuery, запусти SQLBuilder -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
В этом коде 2 ошибки, точнее неточности, которые могут стать потенциальными ошибками, именно по этому я и привёл код с параметрами. Итак: 1) Не все SQL сервера понимают строки как нечто в одинарных кавычках, некоторые требуют двойных кавычек, некоторые сервера могут быть настроены на одинарные ил двойные кавычки. Если дату передавать как параметер, то конечную кверю будет строить сам сервер, и он поставит те кавычки, которые нужны. 2) Где гарантия что формат даты одинаковый на компьютере с программой и компьютере с базой данных? У меня может стоять на клиенте русская винда с русскими настройками и '2/9/2002' будет интерпретироваться как "2 сентября", а на компьютере с базой данных стоит регионарный стандарт для Америки и эта же дата будет означать "9 февраля". (Про разделители полей даты я уже молчу). В этом случае так же параметры работают корректнее - серверу передаётся дата, а он делает кверю в соответствии со своими регионарными стандартами. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
В случае работы с Oracle ему без разницы... в нем, чтобы записать дату требуется следующее (по другому он не воспринимает):
-------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
блин, ошибка.....
-------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
в предыдущем коде ошибка, вот правильный:
-------------------- |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Там клавиша Edit есть для таких случаев - отредактируй ответ, а потом остальные сотри, а то между 3мя ответами уже не теряется где-то правильный...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
уже выкрутился.....
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |