powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR и хранимая процедура. Как заполнить источник данных?
5 сообщений из 5, страница 1 из 1
CR и хранимая процедура. Как заполнить источник данных?
    #35367091
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

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

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


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

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

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

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

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

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

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

Куда и как привязывать connectionString?
...
Рейтинг: 0 / 0
CR и хранимая процедура. Как заполнить источник данных?
    #35368417
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
CR и хранимая процедура. Как заполнить источник данных?
    #35369025
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот правильное решение.

Код: 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
5 сообщений из 5, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR и хранимая процедура. Как заполнить источник данных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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