Главная страница
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.035 c
1-81653
go
2003-08-12 11:25
2003.08.25
install D7


1-81694
Miralex
2003-08-11 12:59
2003.08.25
Mouse right click


8-81846
Василий Петрович
2003-04-15 09:28
2003.08.25
Как играть xm?


1-81721
Saks
2003-08-05 23:54
2003.08.25
Прокрутка в ScrollBox колесом мыши


1-81763
GrBob
2003-08-15 12:19
2003.08.25
Form1.Canvas.Draw