Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.25;
Скачать: CL | DM;

Вниз

Count. Qreport   Найти похожие ветки 

 
Igorek_c   (2003-07-30 13:52) [0]

Здраствуйте все.
1.В запросе делаю выборку по условию(select * from 111 a,222 b,333 c where a.UserId=b.UserId and a.UserId=c.UserId ) в DBGrid , все работает нормально. Надо чтоб в Label выдавалось количество записей, как в строке состояния SQL Server Query Analyzer. Знаю что через count(), но как.
2.Надо в Quickreportе выводить 10 строк (результат запроса n<8). Если нет записей ,то выводить пустые 10 строк. Если есть - выводить "n-строк+пустые строки=10 строк". Через переменные очень долго, и другие репорты не предлагать.
Заранее спасибо!


 
KSergey ©   (2003-07-30 15:26) [1]

По первому
Тут 2 варианта:

а) select count(*) from 111 a,222 b,333 c where a.UserId=b.UserId and a.UserId=c.UserId
и возвращаемое значение - в куда надо

б) после открывания DataSet"а (с указанным в вопросе содержимым) взять значение DataSet.RecordCount. Но тут надо быть уверенным, что курсор клиентский и т.д., т.е. в том, что в RecordCount будет число записей.

Почему-то вс советуют использовать вариант а), хотя, при аккуратном (да вообще-то, по умолчанию в используемых лично мною ADO) подходе вариант б) дает тот же результат (хотя тут сильно зависит от метода доступа к базе).


 
Igorek_c   (2003-07-31 07:17) [2]


> select count(*) from 111 a,222 b,333 c where a.UserId=b.UserId
> and a.UserId=c.UserId

возращает кол-во записей, а надо сами записи и кол-во записей.
Я сделал так, 1 запрос на выборку записей, 2 запрос на кол-во записей. Использую тоже ADO.
А как на счет QReporta?


 
KSergey ©   (2003-07-31 09:39) [3]

Igorek_c (31.07.03 07:17)

Не, ну подразумевалось, конечно, что запроса будет 2 ;)
Возможно, в один компонент 2 разных SQL текста будет запихиваться и поочереди выполняться - это уже от задачи и потребностей, а так же вкусовых предпочтений.

Со вторым - сложнее. Когда-то обсуждали (на и не раз, думаю)
Наверное проще всего будет взять какой-нибудь DataSet в памяти (есть много, в библиотеке RxLib, например), в него перегнать полученные записи+необходимое кол-во пустых добавить. А уже на основании его строить отчет.
Хотя применительно к ADO еще такая штука возможна: есть там BatchUpdate - это когда изменения копятся на кленте, и только по какой-то команде скопом передаются на сервер, либо отменяются.
Можно попробовать получить с сервера имеющееся кол-во записей, потом в этом режиме добавить необходимое кол-во, вывести отчет и сделать Cancel. Подробностей не расскажу, не использовал, надо читать хелпы и пробовать.



Страницы: 1 вся ветка

Текущий архив: 2003.08.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-81788
Duncan
2003-08-13 16:38
2003.08.25
Кто работает с Fast Report.


1-81778
Borealis
2003-08-13 14:33
2003.08.25
Порядок поиска dll ок


14-81902
Snake
2003-08-08 17:11
2003.08.25
Заполнение форм


3-81552
grand_kvirtu
2003-07-30 16:21
2003.08.25
Как по клику в DBGrid получить индекс выделеной строки


7-81983
O?O
2003-05-30 06:16
2003.08.25
Файловый кеш