Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR и хранимая процедура. Как заполнить источник данных? / 5 сообщений из 5, страница 1 из 1
10.06.2008, 14:24
    #35367091
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CR и хранимая процедура. Как заполнить источник данных?
Всем привет.

Использую встроеный в студию кристал.
Источником данных является хранимая процедура (ХП) на SQL 2005 сервере.

Для получения данных от ХП мне нужно в нее передать значение ID.
Как это делается?


В Dataset есть TableAdapter. Нужная таблица видна в "Database Fields", только она пустая.
Как и в каком месте ее можно заполнить данными?

Обычно я заполняю так:
Код: plaintext
myTableAdapter.Fill(myDataSet.myTable, ID);

Но как это должно происходить с Crystal Report - не знаю.
...
Рейтинг: 0 / 0
10.06.2008, 18:05
    #35367877
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CR и хранимая процедура. Как заполнить источник данных?
Разобрался.

Еще вопрос.
В разных организациях имена серверов разные.
Можно ли программно изменить свойство ConnectionString, если оно есть, у отчета.

Я не нашел. Может не там искал.
Подскажите плиз.
...
Рейтинг: 0 / 0
10.06.2008, 19:09
    #35368047
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CR и хранимая процедура. Как заполнить источник данных?
Имеется источник данных на SQL сервере.
У разных клиентов сервера имеют разные имена и т.д.

При разработке отчета указавался конкретно мой сервер и строка соединения с ним.

Как можно программно поменять ConnectionString так, чтобы отчеты жестко не зависели от имени сервера.
Предположим, что правильная строка соединения уже имеется в строковой переменной с именем connectionString.
Имеется Windows форма. На ней crystalReportViewer1 с привязаным отчетом CrystalReport1.rpt

Куда и как привязывать connectionString?
...
Рейтинг: 0 / 0
11.06.2008, 05:54
    #35368417
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CR и хранимая процедура. Как заполнить источник данных?
vlsafИмеется источник данных на SQL сервере.
У разных клиентов сервера имеют разные имена и т.д.

При разработке отчета указавался конкретно мой сервер и строка соединения с ним.

Как можно программно поменять ConnectionString так, чтобы отчеты жестко не зависели от имени сервера.
Предположим, что правильная строка соединения уже имеется в строковой переменной с именем connectionString.
Имеется Windows форма. На ней crystalReportViewer1 с привязаным отчетом CrystalReport1.rpt

Куда и как привязывать connectionString?
Что-то типа:

loDb = loReport.database()
loTable = loDb.Tables.Item[m.i]
loTable.SetLogonInfo(lcSource, lcDtBase, lcUserName, lcUserPassWord)
...
Рейтинг: 0 / 0
11.06.2008, 11:41
    #35369025
vlsaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CR и хранимая процедура. Как заполнить источник данных?
Вот правильное решение.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
... 
private const string PARAMETER_FIELD_NAME = "@ID"; // имя параметра из отчета
...
#region ConnectionInfo
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = "SeverName";
connectionInfo.DatabaseName = "DatabaseName";
connectionInfo.IntegratedSecurity = false; // или true

if (!connectionInfo.IntegratedSecurity)
{
    connectionInfo.UserID = "sa";
    connectionInfo.Password = "123";
}

ReportDocument reportDocument = new ReportDocument();
string reportPath = Application.StartupPath + @"\..\..\PrintDocuments\myReport.rpt";
reportDocument.Load(reportPath);

SetDBLogonForReport(connectionInfo, reportDocument);
#endregion

private void SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument reportDocument)
{
    Tables tables = reportDocument.Database.Tables;
    foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
    {
        TableLogOnInfo tableLogonInfo = table.LogOnInfo;
        tableLogonInfo.ConnectionInfo = connectionInfo;
        table.ApplyLogOnInfo(tableLogonInfo);
    }
}
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR и хранимая процедура. Как заполнить источник данных? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]