Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c