![]() |
|
Модераторы: gambit |
![]()
|
|
| Fomaa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
Как в Crystal Report можно заносить данные из цикла?
Или как можно заносить данные из НЕТИПИЗИРОВАННОГО DataSet? |
|||
|
||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Fomaa,
Приветствую.
Crystal Report позволяеть создавать "отчёты" на основании данных либо из типизированного датасет, либо из базы данных напрямую. С динамическими обьектами Crystal Report, к сожалению, работать не умеет. Он должен знать таблицы и поля в них еще в design mode. Плюс можно использовать view в БД как источник данных. Во view ты можешь выбрать данные из нескольких таблиц БД, а так же включить вычисляемые поля. В ДС только таблицы которые там созданы и заполнены. Добавлено через 58 секунд А что ты подразумеваешь под этим?
-------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| Fomaa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
Да, именно это и имел ввиду, вы в точности ответили на вопрос, спасибо.
Только с помощью каких же компонент можно создать отчет, который будет использовать нетипизированный датасет? |
|||
|
||||
| Fomaa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
А можно в отчетах использовать хранимые процедуры?
|
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Извини, в чем проблема, что ты не хочешь использовать типизированный DataSet?
-------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Fomaa,
Приветствую.
Использовать НЕТИПИЗИРОВАННЫЙ(динамический, создаваемый в runtime) датасет для работы с Crystal Report НЕВОЗМОЖНО. Если вы, в своей программе, используете все что угодно за исключением типизированного датасет, то отчеты в Crystal Report создаются на основе базы данных НАПРЯМУЮ. Т.е. Crystal Report в design mode обращаеться не к типизированному дата сет, а к базе данных, структура таблиц которой, в отличиии от не типизированного дата сет, известна на этот момент. Это значит, что CR создает свое соединение с БД и для отчетов использует данные из БД, а не из памяти, как в случае с типизированным дата сет.
Этого я не знаю, не пробовал. Я создаю отчеты на основании view в БД на MS SQL Server. Вполне возможно, что и можно. Раз view видны в мастере создания отчета, то может и хп там тоже отображаются. Только одно не маловажное замечание, для view не используються параметры, а для хп очень даже. И как это взаимодействует с Crystal Report я БМП. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| archengel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 19.8.2006 Репутация: нет Всего: нет |
в Crystal Report есть одна интересная фишка: можно указать в дизайнере источник данных, команду (command), он предложит вписать ее текст. Вот сюда можно впихнуть в принципе что угодно, от тела хранимой процедуры, до простого запроса. ПОтом раскидываем поля по отчету как надо. И при загрузки отчета указываем ему источник, DataSet, DataTable итд полученные на основе хранимки, запроса, или построенного вручную. Главное что бы названия полей в дизанере совпадали с полями в источнике, что ты привяжешь! Кушает как милый!
Добавлено через 8 минут и 14 секунд thomas, время суток доброе.
Очень даже можно. Как я писал выше, привязывай, все что хочешь именно (runtime), главное чтобы название полей совпадало!. Точнее поправлюсь, дизайнер использует прямой коннект к базе, а во время исполнения программе легко подменяется источник с прямого на свой конкретный, полученный в принципе любым путём |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 8 Всего: 118 |
дополню что Хранимки использовать можно, в качестве источника.
стоит заметить, что зачастую встроенные вычисления в CR работают быстрее, нежели вычисления на сервере БД. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| EAV |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 23.10.2007 Репутация: нет Всего: нет |
С этим согласен на 100%! сам пользуюсь подсовыванием источника данных. Единственное что оставляет небольшое разочарование при использовании CR то, что нельзя создавать сам отчет (его структуру) непосредственно в runtime, а только можно использовать то, что ранее создал в дизайнере отчетов |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
archengel, EAV, Приветствую. Что-то я вас не пойму CR может брать данные из типизированного дата сет (т.е. из памяти) или из базы данных(т.е. с жесткого диска). При этом весь дизайн отчёта формируеться в design mode, а не в runtime. Покажите мне, неразумному, как вы "скармливаете" CR-у в design mode данные из нетипизированного дата сет, создаваемого и заполняемого данными программно в runtime. Как вы обьясняете CR-у при его создании откуда он должен брать данные? Потому как к базе данных вы не обращаетесь (соединение не устанавливаете), а типизированного дата сет в проекте на наблюдаеться. Дата сет создаеться и заполняеться данными в runtime. Вот скриншот из моего проекта для Crystal Report. Откуда он может взять данные для создания рапорта в design mode . ![]() зеленым подчеркнуто созданное соединение с базой данных на MS SQL server. красной тонкой линией подчеркнута возможность создать команду на выборку данных из БД. Но тут происходит обращение именно к БД с которой уже есть соединение. Но вместо этого удобнее пользоваться командами уже созданными в БД, т.е. view или хранимыми процедурами. Их использовать можно. синим подчеркнуты .NET Objects - это список форм в проекте, там никаких данных нет. жирная красная линия подчеркивает отсутствие типизированного дата сет в проекте. черным зачеркнуты строки не относящиеся к данному проекту. Это сообщение отредактировал(а) thomas - 18.4.2008, 12:16 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| vretsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 29.10.2007 Репутация: нет Всего: нет |
извините господа!
сам столкнулся с похожей задачей, из описания архангела ниче не понял. как и где динамически указать источник данных? где в дизайнере выбрать комманд? Добавлено через 9 минут и 44 секунды вернее где создать команду в дизайнере я нашел, а как ее менять динамически? |
|||
|
||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
vretsky,
приветствую.
вот тут товарисч написал то, что я сказал выше
А его понятие "всё что угодно" включает в себя все тот же запрос к базе данных, с которой уже есть соединение. Т.е. другими словами данные для CR будут браться из БД напрямую. А не из какого-то там дата сет, который кто-то где-то когда-то создаст во время работы программы. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| vretsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 29.10.2007 Репутация: нет Всего: нет |
или в сторед процедуру можно передать динамический параметр (параметры) ?
(под динамический понимать изменяемый пользователем) |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
что ты подразумеваешь под менять? Подставлять параметры в команду? Если я правильно понимаю, в CR есть поля параметры. И при помощи этих полей наверное можно выводить, например одну из многих накладных, передав в качестве параметра её номер. Сейчас сам собираюсь над этим поработать. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| vretsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 29.10.2007 Репутация: нет Всего: нет |
thomas
приветствую! вот команда к примеру select * from Addresses where code=@param создаю параметр @param жму OK, получаю ошибку должна быть объявлена скалярная переменная!!!!!!!!!!!! |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |