Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CR источник данных - хранимая процедура, как в хранимку передать параметр 
:(
    Опции темы
vlsaf
Дата 10.6.2008, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: 1
Всего: 1



Всем привет.

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

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


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

Обычно я заполняю так: 
Код

myTableAdapter.Fill(myDataSet.myTable, ID);


Но как это должно происходить с Crystal Report - не знаю.
PM   Вверх
vlsaf
Дата 10.6.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: 1
Всего: 1



Разобрался. Настроил источник данных, как OLE DB (ADO),
выбрал мою хранимку, как источник данных и все путем.
Параметры подхватились автоматом.


Но есть еще вопрос. 
Где хранится строка подключения?

При установке приложения клиенту нужно, чтобы клиент указывал на свой SQL сервер.
Вот я и думаю, как это можно автоматизировать. 

Никто не в курсе?
.........................

Нашел вот такое высказывание
программно изменяй ConnectionString у контрола он и подключает тебя к указанной в строке базе.
У какого контрола?

Это сообщение отредактировал(а) vlsaf - 10.6.2008, 17:07
PM   Вверх
vlsaf
Дата 12.6.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 9.5.2007

Репутация: 1
Всего: 1



Да. Тут никакой активности не наблюдается. Жаль.

Код

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);
    }
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Репортинговые системы | Следующая тема »


 




[ Время генерации скрипта: 0.0384 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.