Страница 1 из 1

Передача параметра в хранимую процедуру.

Добавлено: 30 июн 2008, 14:13
vlsaf
Добрый день.
Источником данных является хранимая процедура (ХП).
ХП на вход требует один параметр.
Я пытаюсь его передать так

Код: Выделить всё

exec Print_RechnungswesenHeader {ID}
где ID - это текстовая переменная из словаря.
Проверяю (нажимаю красный восклицательный знак).
Сначала появляется строка запроса параметра, в которой стоит нужное мне значение (я определил строку по умолчанию). Нажимаю Ok. Выходит сообщение об ошибке.
"Syntax near 'c259be'".

Вопрос. Как правильно передать переменную из словаря на вход ХП?

Передача параметра в хранимую процедуру.

Добавлено: 30 июн 2008, 14:40
vlsaf
Этот вопрос снят.
В словаре переменная по умолчанию должна обрамляться в одинарные кавычки.

Появился другой.

Я гружу уже откомпилированный отчет из dll.
Dll находится в в одном каталоге с exe файлом.
Больше нигде!

Dll файл я загружаю так
stiReport1 = StiReport.GetReportFromAssembly(reportPath_dll);

Пробую менять значение переменной для хранимой процедуры
stiReport1.Dictionary.Variables["ID"].Value = myID;

Ошибок нет, но переменная ID в отчете не меняется.
Это видно по результату просмотра отчета, хотя в отладчике
stiReport1.Dictionary.Variables["ID"].Value
показывает нужное мне значение.

Что еще нужно подкрутить, чтобы переменная правильно передалась?

Передача параметра в хранимую процедуру.

Добавлено: 30 июн 2008, 21:31
Edward
Здравствуйте.

Проверьте, пожалуйста, что переменная не имеет значения по умолчанию в отчете.

Присвоить её можно следующим образом

report["ID"] = myID;

Параметр хранимой процедуры передавайте следующим образом:

report.DataSource["MyDataSource"].Parameters["@customerid"].ParameterValue = 1;

Спасибо.

Передача параметра в хранимую процедуру.

Добавлено: 01 июл 2008, 05:44
vlsaf
Спасибо.
report["ID"] = myID;
Это помогло.

Передача параметра в хранимую процедуру.

Добавлено: 08 июл 2008, 11:31
Edward
Дайте знать, если понадобится помощь.

Спасибо.