Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Apollo SQL
Goto page 1, 2  Next
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
Балуев Максим



Joined: 19 Sep 2003
Posts: 21
Location: Балуев
Occupation: Мобил-Экспресс (программист)
Interests: Кемерово

PostPosted: 26 Sep 2005 14:20    Post subject: Apollo SQL Reply with quote

Доброго дня!

Просьба к тем, кто работал с Apollo SQL.
Киньте сюды пример использования: как подсоединиться,
как формировать запрос, как работать с результатами.

Заранее благодарю всех кто откликнул
Back to top
View user's profile Send private message
shura_k



Joined: 10 Oct 2003
Posts: 342
Location: Александр
Occupation: Специалист
Interests: Калининград

PostPosted: 26 Sep 2005 16:04    Post subject: Reply with quote

Примеры идут вместе с прогой, там всё понятно.
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 26 Sep 2005 17:03    Post subject: Reply with quote

Объясните плз зачем Вы Apollo смотрите - ведь от него отказались.
В 12 версии его уже нет - там ADS SQL
Back to top
View user's profile Send private message Send e-mail
Балуев Максим



Joined: 19 Sep 2003
Posts: 21
Location: Балуев
Occupation: Мобил-Экспресс (программист)
Interests: Кемерово

PostPosted: 27 Sep 2005 11:43    Post subject: Reply with quote

nordk wrote:
Объясните плз зачем Вы Apollo смотрите - ведь от него отказались.
В 12 версии его уже нет - там ADS SQL


Ох, извините не уследил.

То что, ADS SQL можно использовать в FastReport - это понятно.
А можно ли использовать ADS SQL при написании программ на HFileEval?
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 27 Sep 2005 12:27    Post subject: Reply with quote

Тут подход должен быть следующим.
Средствами харбора вы создаете нужную для отчета
таблицу и затем применительно к ней вызываете
фастрепорт для посторения отчета - внутри фаст-репорта
в дизайнере вы можете использовать SQL запросы
в источниках данных.....так мне видится э
Back to top
View user's profile Send private message Send e-mail
Балуев Максим



Joined: 19 Sep 2003
Posts: 21
Location: Балуев
Occupation: Мобил-Экспресс (программист)
Interests: Кемерово

PostPosted: 29 Sep 2005 14:23    Post subject: Reply with quote

У меня проблема с ADS SQL в FastReport.
Мне необходимо формировать запрос динамически на
функцию OnClick кнопки. Проблема с датой.

Если работать с цифрами, то все работает:
Quote:
begin

DialogForm.Query1.Active := False;
DialogForm.Query1.SQL.Clear;
DialogForm.Query1.SQL.Add('Select a.NumDoc ');
DialogForm.Query1.SQL.Add('From [Zapas\mdoc] as a ');
DialogForm.Query1.SQL.Add('Where (a.SumOut > :Param1) and (a.SumOut < :Param2) ');

DialogForm.Query1.Params['Param1'] := 19000;
DialogForm.Query1.Params['Param2'] := 20000;

DialogForm.Query1.Active := True;
end


А если переделать на дату, то не работает:
Quote:
begin

DialogForm.Query1.Active := False;
DialogForm.Query1.SQL.Clear;
DialogForm.Query1.SQL.Add('Select a.NumDoc ');
DialogForm.Query1.SQL.Add('From [Zapas\mdoc] as a ');
DialogForm.Query1.SQL.Add('Where (a.Date > :Param1) and (a.Date < :Param2) ');

DialogForm.Query1.Params['Param1'] := DialogForm.BegPer.Date;
DialogForm.Query1.Params['Param2'] := DialogForm.EndPer.Date;

DialogForm.Query1.Active := True;
end
Back to top
View user's profile Send private message
Alexander Tarasov



Joined: 02 Feb 2005
Posts: 3
Location: Тарасов Александр
Occupation: Компания "БЭСТ"
Interests: Москва

PostPosted: 29 Sep 2005 18:00    Post subject: Reply with quote

Code:
DialogForm.Query1.Params['Param1'] := '1999-01-01';
DialogForm.Query1.Params['Param2'] := '2001-01-01';
Back to top
View user's profile Send private message
grey



Joined: 12 Jan 2004
Posts: 297
Location: Родионов С.Г.
Occupation: ООО Бухгалтер, программист
Interests: Набережные Челны

PostPosted: 29 Sep 2005 18:32    Post subject: Reply with quote

Балуев Максим wrote:
begin

DialogForm.Query1.Active := False;
DialogForm.Query1.SQL.Clear;
DialogForm.Query1.SQL.Add('Select a.NumDoc ');
DialogForm.Query1.SQL.Add('From [Zapas\mdoc] as a ');
DialogForm.Query1.SQL.Add('Where (a.Date > :Param1) and (a.Date < :Param2) ');

DialogForm.Query1.Params['Param1'] := DialogForm.BegPer.Date;
DialogForm.Query1.Params['Param2'] := DialogForm.EndPer.Date;

DialogForm.Query1.Active := True;
end


Надо в строку преобразовать, например
FormatDateTime('DD"/"MM"/"YYYY',DialogForm.EndPer.Date )
_________________
http://grey-soft.narod.ru - примочки к программам серии БЭС
Back to top
View user's profile Send private message Visit poster's website
Alexander Tarasov



Joined: 02 Feb 2005
Posts: 3
Location: Тарасов Александр
Occupation: Компания "БЭСТ"
Interests: Москва

PostPosted: 29 Sep 2005 19:48    Post subject: Reply with quote

Quote:
FormatDateTime('DD"/"MM"/"YYYY',DialogForm.EndPer.Date )

такой формат тоже работает. Вот что пишут в help ADS по этому поводу

Quote:
Date

A string literal with either the ANSI date format 'YYYY-MM-DD' or the default date format specified in your application via the "set date format" operation. With the Advantage Client Engine API or Advantage OLE DB Provider, the date format for an application can be specified via the AdsSetDateFormat API. With Advantage TDataSet Descendant applications, the date format for an application can be specified via the TAdsSettings.DateFormat property. If the ANSI style format (YYYY-MM-DD) and the format specified through the client's "set date format" operation are ambiguous, the ANSI format is assumed. For example, if the client format was 'YYYY-DD-MM', the date '1999-01-22' will be interpreted as January 22, 1999.


Дополнительную информацию можно получить в следующих файлах:

Как работать с датами описано:
Пункт меню О программе - Инструкции и комментарии к БЭСТ-4 +
Далее раздел справки "Печать в Windows-формате - Создание дополнительных источников - Правила написания SQL"

Кроме этого в пункте меню О программе - Инструкции и комментарии к БЭСТ-4 +
Далее раздел справки "Печать в Windows-формате - Создание дополнительных источников - Общие сведения об Advantage SQL"

Файл справки по Advantage SQL (на английском языке) Advantage.hlp расположен в подкаталоге News каталога установленной системы БЭСТ-4+.
Back to top
View user's profile Send private message
Балуев Максим



Joined: 19 Sep 2003
Posts: 21
Location: Балуев
Occupation: Мобил-Экспресс (программист)
Interests: Кемерово

PostPosted: 30 Sep 2005 12:59    Post subject: Reply with quote

Да действительно нужен другой формат даты:
Quote:
DialogForm.Query1.Params['Param1'] := [FORMATDATETIME('yyyy-mm-dd', [DialogForm.BegPer.Date])];
DialogForm.Query1.Params['Param2'] := [FORMATDATETIME('yyyy-mm-dd', [DialogForm.EndPer.Date])];


Огромное СПАСИБО! Все работает.
Back to top
View user's profile Send private message
Балуев Максим



Joined: 19 Sep 2003
Posts: 21
Location: Балуев
Occupation: Мобил-Экспресс (программист)
Interests: Кемерово

PostPosted: 04 Oct 2005 13:49    Post subject: Reply with quote

Господа РАЗРАБОТЧИКИ!

А каковы Ваши ставки на ADS SQL?
Сделал я отчет в FastReport - запрос c группировкой (mdoc, mdocm).
В FoxPro этот же запрос обрабатывается менее секунды. В FastReport -
1 мин 23 сек. Размер mdoc - 3441 запись, mdocm - 5821.

А если размер файлов несколько тысяч записей? Как поведет себя ADS SQL?
И что, подготавливать файлы в HFileEval банальным перебором (... я думаю будет работать быстрее).
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 04 Oct 2005 14:08    Post subject: Reply with quote

А вы через HfileEval выборку сделайте и потом в фаст-репорт киньте табличк
Back to top
View user's profile Send private message Send e-mail
Олег Смирнов



Joined: 06 Sep 2004
Posts: 821
Location: Олег Смирнов
Occupation: Раут (поганист-сисадмин)
Interests: Новосибирск

PostPosted: 04 Oct 2005 14:40    Post subject: Reply with quote

Балуев Максим wrote:
И что, подготавливать файлы в HFileEval банальным перебором (... я думаю будет работать быстрее).

Будешь смеяться, но: часто банальный полный перебор базы оказывается весьма эффективным способом... И не только для .DBF, но и для SQL-серверов.
_________________
С уважением, Олег Р. Смирн
Back to top
View user's profile Send private message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 04 Oct 2005 17:21    Post subject: Reply with quote

Если надо все записи анализировать - тогда для DBF полезно еще и индексы отключать а если надо часть выбрать - то скоп очень полезен по индексу против простого перебор
Back to top
View user's profile Send private message Send e-mail
Олег Смирнов



Joined: 06 Sep 2004
Posts: 821
Location: Олег Смирнов
Occupation: Раут (поганист-сисадмин)
Interests: Новосибирск

PostPosted: 04 Oct 2005 19:04    Post subject: Reply with quote

nordk wrote:
если надо часть выбрать - то скоп очень полезен по индексу против простого перебора

А это смотря по тому, насколько велика выбираемая часть... И если эта самая выбираемая часть относительно велика - полный перебор лучше...
P.S. Хочу уточнить - полный перебор лучше не по моему личному предвзятому мнению - а по результатам тестирования независимыми группами экспертов. Ведь выборка по индексам - это тоже ресурсоёмкий процесс - и если в выборку попадает 15-20% всех записей базы - полный перебор уже быстрее...
В таком вот аспекте...
_________________
С уважением, Олег Р. Смирн
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru