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

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

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


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

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

Выпуск № 228
от 23.10.2006, 21:35

Администратор:CJ
В рассылке:Подписчиков: 270, Экспертов: 40
В номере:Вопросов: 2, Ответов: 3


Вопрос № 59319: Добрый день уважаемые эксперты. Суть проблемы такова: есть компоненты - Degisy Data (http://www.degisy.com/degisy-data.php), работая с базой paradox фильтрую данные в таблице DsPdxTable1 и по идее в переменной DsPdxTable1.RecordCount должн...
Вопрос № 59357: Здравствуйте уважаемые эксперты! Подскажите пожалуйста как производить SQL-запросы к базе данных. Я ее подключил используя ADO (используя MS OLE DB Provider for SQL Server - а сама база 1С). Вроде все отлично выводится в DBGrid, но вот как сделат...

Вопрос № 59.319
Добрый день уважаемые эксперты.

Суть проблемы такова: есть компоненты - Degisy Data (http://www.degisy.com/degisy-data.php), работая с базой paradox фильтрую данные в таблице DsPdxTable1 и по идее в переменной DsPdxTable1.RecordCount должно храниться количество отфильтрованных записей, а у меня почему-то количество всех, фильтр стопроцентно включен, условия фильтра рабочие.
Отправлен: 18.10.2006, 09:05
Вопрос задал: Кулаков Антон Сергеевич /SandroNec (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Baduin
Здравствуйте, Кулаков Антон Сергеевич /SandroNec!
я бы посоветовал попользоваться стандартными компонентами делфей с закладки bde. Здесь все очень просто, бросаем на форму query, подцепляем datasource и dbgrid. Затем делаем:

with query do begin
close;
sql.text:='select * from base where id<6';
execsql;
open;
end;

В query будут нужные записи, а через query.recordcount можно получить ПРАВИЛЬНОЕ кол-во записей.

p.s. фильтрация, насколько я знаю работает медленее, чем sql запросы. да и дополнительный компонент утяжелит exe-шник
Ответ отправил: Baduin (статус: 1-ый класс)
Ответ отправлен: 18.10.2006, 10:01
Оценка за ответ: 4

Отвечает: sir henry
Здравствуйте, Кулаков Антон Сергеевич /SandroNec!
Вы сильно ошиблись. В хелпе, по поводу RecordCount, написано:
"Indicates the total number of records associated with the dataset."
Что по-русски означает:
"Выводит общее количество записей в наборе данных".
Где же Вы увидели, что это свойство выводит только кол-во отфильтрованых записей?
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 18.10.2006, 10:12
Оценка за ответ: 3
Комментарий оценки:
ошибся не ошибся, но попробуйте сами со стандартными компонентами, проверьте recordcount до фильтра и после того как его включили


Вопрос № 59.357
Здравствуйте уважаемые эксперты!
Подскажите пожалуйста как производить SQL-запросы к базе данных. Я ее подключил используя ADO (используя MS OLE DB Provider for SQL Server - а сама база 1С). Вроде все отлично выводится в DBGrid, но вот как сделать (всмысле, с помощью чего) sql-запрос и получить данные не знаю (может какие-то компоенты, но не "тянуть" все из DBGrid'a, так он вообще не будет использоваться). Подскажите как это сделать. Ссылки на маны только приветствуются.
Отправлен: 18.10.2006, 15:50
Вопрос задал: Koven (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Koven!

Вы можете использовать компонент ADOQuery из вкладки ADO.

Далее "соединяете" компонент с ADOConnection примерно так:
ADOQuery.Connection:=ADOConnection;

Потом Вам следует создать запрос (по такой схеме):

ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(
'SELECT [название полей по которым ведеться выборка] FROM `название базы` '+
'WHERE [условие] '+
'GROUP BY [название полей по которым группируем, если это необходимо] ');
ADOQuery.Active:=true; //запускаем запрос


Все данные которые соответствуют текущему запросу будут находиться в ADOQuery.Fields[i].

Дальше я думаю Вы разбиретесь сами (если что-то не получаеться выходите на связь - задавайте дополнительные вопросы в мини-форум либо в личку...)

Удачи!!!

---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 18.10.2006, 17:20
Оценка за ответ: 5
Комментарий оценки:
Отлично! Спасибо! Буду разбираться!


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное