Поиск:

Ответ в темуСоздание новой темы Создание опроса
> > DELPHI Paradox 5.x Выборка за промижуток дат и в 
:(
    Опции темы
Akella
Дата 24.12.2008, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Ripperr, подсказываю:
Код

form1.ADOQuery1.SQL.Clear;
form1.ADOQuery1.SQL.Add(query1);
form1.ADOQuery1.Parameters.ParamByName('firstDate').Value:='01/01/2008';
form1.ADOQuery1.Parameters.ParamByName('secodDate').Value:='12/31/2008';

ShowMessage(form1.ADOQuery1.SelectSQL.TEXT); // чтобы увидеть реальный запрос, ну или дебаггером смотри, что ты серверу отдаёшь

form1.ADOQuery1.Active:=true;


во вторых это: '01/01/2008';, а с чего ты взял, что так нужно передавать дату?

я бы сделал так
Код
form1.ADOQuery1.Parameters.ParamByName('firstDate').Value := StrToDate('01/01/2008');


а у сервера точно формат даты такой, как ты передаёшь?

ну сам запрос попробовать переделать с использованием скобок
Код
SELECT * FROM Statist WHERE  (CallDate <= :firstDate) AND (CallDate =>  :secodDate)


Добавлено через 56 секунд
Цитата(Ripperr @  24.12.2008,  13:06 Найти цитируемый пост)
form1.ADOQuery1.SQL.Add(query1);

ну и откуда нам знать, что у тебя в query1?
PM MAIL   Вверх
Ripperr
Дата 26.12.2008, 05:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



Код

ShowMessage(form1.ADOQuery1.SelectSQL.TEXT);


такой вещи нет есть

Код

ShowMessage(form1.ADOQuery1.SQL.TEXT);


оно показывает то что надо 

user posted image


а вот что мы имеем

user posted image


так мы передаем параметры

user posted image

запрос загнали просто в компонент ADOquery

В винде формат через точку а от единственый пока рабочий вариант выглядит так 

user posted image

ток как сюда припоять диапазон времени если поле в котором хранится время CallBegin

Это сообщение отредактировал(а) Ripperr - 26.12.2008, 05:15
PM MAIL ICQ   Вверх
Akella
Дата 26.12.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Ripperr @  26.12.2008,  05:02 Найти цитируемый пост)
оно показывает то что надо 

по идее там должны быть подставлены реальные значения вместо имён параметров

Добавлено @ 12:12
у ADOQuery должно быть свойство CheckParams, помоему, нет дельфи под рукой, не могу проверить
CheckParams должно быть установлено в True

Это сообщение отредактировал(а) Akella - 26.12.2008, 12:13
PM MAIL   Вверх
Ripperr
Дата 26.12.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



Но в рабочем варианте тоже показывает имя параметра но при этом все работает.
PM MAIL ICQ   Вверх
Ripperr
Дата 29.12.2008, 03:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



Есть еще какието мысли на эту тему....



Или возможно как-то объеденить 3 запроса в 1 ? типо три запроса одна результирующая таблица ?
PM MAIL ICQ   Вверх
Ripperr
Дата 7.1.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



тема все еще актуална получилось выберать инфу за период дата1-дата2 но некак не могу наложиить ограничения по времени...
PM MAIL ICQ   Вверх
Akella
Дата 8.1.2009, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Не знаю, есть ли в парадоксе 5 CAST, а то можно было бы из полей firstDate и secodDate выделять на лету время.
PM MAIL   Вверх
Ripperr
Дата 9.1.2009, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



дайп правильный синтаксис я попробую
PM MAIL ICQ   Вверх
Akella
Дата 9.1.2009, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



неужели в гугле трудно набрать: select cast?

Добавлено через 2 минуты и 17 секунд
Код
select CAST(fromDate AS TIME) from TABLE

Хотя я не уверен, что в парадоксе такое прокатит.

Возможно прийдётся в дельфи, в наборах данных создавать калькулируемые поля, где будет храниться только время и с помощью их фильтровать данные
PM MAIL   Вверх
Ripperr
Дата 9.1.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



Так стой в поле дата там ж токо дата откудо оно будет брать время время у меня отдельно поле `Calltime`

PM MAIL ICQ   Вверх
Akella
Дата 9.1.2009, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Тогда никак, просто столку меня сбило несколько сообщений

Цитата(pseud @  22.12.2008,  15:53 Найти цитируемый пост)
CallDate + CallBegin >= '01/01/2008 00:00:00' 
  AND CallDate + CallBegin <= '12/22/2008 23:00:00'


Цитата(pseud @  22.12.2008,  15:53 Найти цитируемый пост)
 CallDate + CallBegin >= '01.01.2008 00:00:00' 
  AND CallDate + CallBegin <= '12.22.2008 23:00:00'


Цитата(pseud @  22.12.2008,  19:34 Найти цитируемый пост)
 (CallDate BETWEEN  '01.01.2008'  AND '12.22.2008')
  AND
  (CallBegin BETWEEN '00:00:00' AND '23:00:00')


PM MAIL   Вверх
Ripperr
Дата 9.1.2009, 23:13 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



Я попробую еще раз но походу оно у меня не работает просто пустота...


И так в делфе непонятно что творится сново говорит что не может найти параметры

попробовал запрос напрямую засунуть в  DataBase Tour

и так что мы имеем


Код

SELECT * FROM Statist WHERE  CallDate + CallBegin >= '01.01.2008 00:00:00' AND CallDate + CallBegin <= '12.22.2008 23:00:00'


Type missmach in expression


Код

SELECT *
FROM Statist
WHERE  (CallDate BETWEEN  '01/01/2008'  AND '12/22/2008')
  AND
  (CallBegin BETWEEN  '00:00' AND '12:00' )


это работает но не то что мне надо оно выводит данные за 01/01/2008 до 12/22/2008 с ограничением с 00:00 до 12:00
 на каждый день а мне надо ограничить токо граничне данные тоесть с 01/01/2008 00:00 по 12/22/2008 12:00 ток вопрос что надо поправить в синтаксисе


Код

SELECT *
FROM Statist
WHERE  (CallDate BETWEEN  '11/19/2008'  AND '11/19/2008')
  AND
  (CallBegin BETWEEN  '12:00' AND '23:59' )
UNION
SELECT *
FROM Statist
WHERE  (CallDate BETWEEN  '11/20/2008'  AND '11/20/2008')
UNION
SELECT *
FROM Statist
WHERE  (CallDate BETWEEN  '11/21/2008'  AND '11/21/2008')
  AND
  (CallBegin BETWEEN  '00:00' AND '12:00' )


вот приблезительно что мне надо но он сильно нагружен текстом а я хотел запрос чтобы генирировался автоматически тут придется поморочится и что самое удевительное похоже что оно  работает Пробовал INTERSECT И MINUS  Paradox такого не знает =(

мыла мысль сделать исколечение 2х периодов до и после и вывести оставшыйся тобиш искомый

Это сообщение отредактировал(а) Ripperr - 10.1.2009, 06:40
PM MAIL ICQ   Вверх
pseud
Дата 10.1.2009, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



а так?
Код

SELECT * FROM Statist WHERE  CallDate + CallBegin >= '01/01/2008 00:00' AND CallDate + CallBegin <= '12/22/2008 23:59'



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Ripperr
Дата 10.1.2009, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 1.11.2008

Репутация: нет
Всего: нет



В делфе пустота 
Код

query1:='SELECT * FROM Statist WHERE  CallDate + CallBegin >= ''01/01/2008 00:00'' AND CallDate + CallBegin <= ''12/22/2008 23:59'''; 
form3.ADOQuery1.SQL.Clear;
form3.ADOQuery1.SQL.Text:=query1;
form3.ADOQuery1.Active:=True;



результат пустота

В DataBase Tour type missmatch in expression 

Да и еще одно если мой запрос вставить  в Delphi то оно говорит что внешняя таблица не имеет проедпологаемый формат что это значит.

Это сообщение отредактировал(а) Ripperr - 10.1.2009, 18:41
PM MAIL ICQ   Вверх
pseud
Дата 10.1.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



Цитата(Ripperr @  10.1.2009,  18:28 Найти цитируемый пост)
Да и еще одно если мой запрос вставить  в Delphi

в дельфи - это как?

ну а такой запрос хоть отрабатывает?
Код

SELECT 
  * 
FROM 
  Statist 
WHERE  
  CallDate + CallBegin >= '01/01/2008' 
  AND CallDate + CallBegin <= '12/22/2008'


Добавлено через 6 минут и 43 секунды


------
и вот еще попробуй:
Код

SELECT 
  * 
FROM 
  Statist 
WHERE  
  CallDate + CallBegin >= '01/01/2008 0:00:00 AM' 
  AND CallDate + CallBegin <= '12/22/2008 11:59:59 PM'



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1226 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.