У меня возникла проблема с Crystal Report, который отображает данные из таблицы MySQL. Я в настоящее время собирает данные непосредственно из таблицы, однако, когда пользователи пытаются входных параметров, возникают проблемы, такие как:Crystal Reports XI и MySQL Сохраненная процедура с параметрами
- нулевые значения параметров возвращают ошибки
- параметры не работают, как указано
Затем я создал хранимую процедуру для возврата данных, если параметр пуст, и заставит сервер MySQL выполнять работу, а не сервер Crystal Reports.
Однако Crystal Reports, похоже, не распознает это, и у меня возникли проблемы с отображением результатов процедуры.
Вот копия процедуры я использую:
Create Procedure sp_report
(IN @param1 varchar(64),
IN @param2 varchar(64),
IN @param3 int)
Begin
IF @param1 is null AND @param2 is null AND @param3 is null Then
Select * from tblData
ELSE IF @param1 is null AND @param2 is not null AND @param3 is not null then
Select * from tblData where field3 = @param3 and field2 = @param2
ELSE IF @param1 is not null AND @param2 is not null AND @param3 is null then
Select * from tblData where field2 = @param2 and field1 = @param1
ELSE IF @param1 is not null AND @param2 is null AND @param3 is not null then
Select * from tblData where field3 = @param3 and field1 = @param1
ELSE IF @param1 is not null AND @param2 is null AND @param3 is null then
Select * from tblData where field1 = @param1
ELSE IF @param1 is null AND @param2 is not null AND @param3 is null then
Select * from tblData where field2 = @param2
ELSE IF @param1 is null AND @param2 is null AND @param3 is not null then
Select * from tblData where field3 = @param3
ELSE IF @param1 is not null AND @param2 is not null AND @param3 is not null then
Select * from tblData where field3 = @param3 and field2 = @param2 and field1 = @param1
END;
Есть ли более простой способ сделать это, или я делаю что-то не так? Любые предложения будут ценны.
кристалла не распознают хранимую процедуру? Я не использую mysql, но, возможно, использую другой драйвер базы данных. – dotjoe