Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 431
от 15.12.2007, 22:35

Администратор:Gh0stik
В рассылке:Подписчиков: 298, Экспертов: 31
В номере:Вопросов: 1, Ответов: 3


Вопрос № 113314: Доброе время суток уважаемые эксперты! Помогите с решением такой задачи: имеется таблица daily.dbf в которой храняться данные о клиентах. Структура табицы включает в себя такие поля как: data_begin - дата начала договора и data_end - дата окончания д...

Вопрос № 113.314
Доброе время суток уважаемые эксперты! Помогите с решением такой задачи: имеется таблица daily.dbf в которой храняться данные о клиентах. Структура табицы включает в себя такие поля как: data_begin - дата начала договора и data_end - дата окончания договора. Как правильно постоить SQL - запрос при помощи TQuery, чтоб по системной дате выводило тех клиентов, с момента договора которых на текущую дату прошёл год, два, три, четыре и т.д.
Очень нужно!!!!
Заранее благодарен!
Отправлен: 10.12.2007, 22:12
Вопрос задал: Серёжка (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Raptor3
Здравствуйте, Серёжка!

один из вариантов решения

Приложение:

---------
Программист - это человек который решает проблему, о которой вы не знаете, способом который вы не понимаете

Ответ отправил: Raptor3 (статус: 2-ой класс)
Ответ отправлен: 11.12.2007, 07:32

Отвечает: Delph
Здравствуйте, Серёжка!

Для начала в Delphi можно сформировать текстовое представление текущей даты, которое зависит уже от Вашей СУБД (или - если нет явного сервера СУБД - от драйвера). Часто формат имеет вид 'mm-dd-yyyy', 'dd-mm-yyyy'; Вам нужно только выяснить реальный формат в Вашем случае. Текстовое представление даты (в подходящем для СУБД формате, ВКЛЮЧАЯ кавычки) запишите в строковую переменную, например - str. Тогда можно будет сделать такой запрос:

SQL := 'SELECT список_полей FROM dayli WHERE ' + str + ' BETWEEN data_begin AND data_end';

BETWEEN переводится как "между", и в языке SQL имеет именно такое значение. В переводе на русский данный запрос звучал бы так: "Выбрать список_полей из всех строк таблицы dayli, для которых текущая дата оказывается между data_begin и data_end". При этом строки, где одна из дат (или обе) равны указанной, тоже включаются в выборку.
---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 11.12.2007, 09:13
Оценка за ответ: 2

Отвечает: Reiner
Здравствуйте, Серёжка!
Здравствуйте, Серёжка
Query1.Active:= false; //выборка через запрос списка участков
Query1.SQL.Clear;
Query1.SQL.Add('SELECT Pole_101_01 FROM daily WHERE date_end < ' + DateToString(date1));
Query1.Active:= true;
//где Pole_101_01 поле идентификаторов клиентов, date1 - переменная даты (тип Date)
//запрос должен дать список идентификаторов клиентов, у которых поле date_end меньше
//даты в переменной date1.

С уважением, reiner
Ответ отправил: Reiner (статус: Заблокирован)
Ответ отправлен: 12.12.2007, 23:56
Оценка за ответ: 2
Комментарий оценки:
Вы немного не правильно поняли вопросс, мне нужно чётко отследить, что с момента date_begin прошло ровно ГОД!!!!!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.65 от 04.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное