Передача GUID через C # в качестве параметра в Crystal Reports приводит к ошибке

#c# #parameters #crystal-reports #guid

#c# #параметры #crystal-отчеты #guid

Вопрос:

Моя хранимая процедура имеет GUID в качестве входного параметра, и сначала она выдает ошибку:

Несоответствие типов

Это произошло потому, что я передавал его как строку. Затем я сделал это:

 Guid parameterGuid = Guid.Parse(parameterGuid);

MainReport.SetParameterValue(kvp.Key, parameterGuid,MainReport.Subreports["HeaderSubreport"].Name);    
 

И после этого я получил это сообщение об ошибке:

Значение не попадает в ожидаемый диапазон

Итак, после проведенного поиска я увидел, что его нужно передать как массив, но я не уверен, как это сделать.

Спасибо.

Ответ №1:

Если я правильно помню, Crystal Reports требует, чтобы GUID был заключен в фигурные скобки. Итак, это выглядит так:

 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
 

Для достижения этой цели вы могли бы выполнить некоторую конкатенацию строк. Или из Guid вы можете использовать ToString("B") .