Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-81566
Ромн
2003-07-30 16:32
2003.08.25
Сообщение об ошике BDE


1-81684
JTAG
2003-08-14 23:03
2003.08.25
Про фонты


1-81764
Berezne
2003-08-14 12:02
2003.08.25
Глюки при печати


7-81992
rocker
2003-06-11 06:05
2003.08.25
Как обратиться к реестру от имени другой программы


1-81787
ivc_andr
2003-08-14 10:20
2003.08.25
Программное выключение компьютера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский