Главная страница
    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.374 c
1-81632
Buffoon
2003-08-12 18:35
2003.08.25
Рисование на Canve


14-81908
DeMoN-777
2003-08-07 09:08
2003.08.25
Вроде вопрос по php.ini


3-81599
fedot
2003-07-31 15:35
2003.08.25
Рушится таблица Paradox


14-81893
3APA3A
2003-08-08 01:03
2003.08.25
Касательно статьи...


1-81652
SO
2003-08-11 17:18
2003.08.25
OnClick для динамически создаваемых кнопак





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский