сложный запрос SQL Server в FastReport 4

derricfle

Member
Joined
Nov 20, 2018
Messages
299
Reaction score
53
Есть такая проблема.
В FastReport 4 в компоненте TfrxADOQuery прописываю "сложный" запрос SQL Server типа такого (это пример конструкции, а не сам запрос):

DECLARE @ID INT
SET @ID = :id

SELECT
CASE WHEN 1 THEN 1
ELSE
CASE WHEN @ID = 2 THEN 2 ELSE 3 END
END

Сам запрос работает правильно - проверял в Enterprise Manager.
Но в FR не работает - в датасете пустой перечень полей. Когда убираю case (второй - вложенный) и DECLARE, то работает.

Вопрос - как можно в TfrxADOQuery выполнить такой "сложный" запрос?

P.S. знаю, что запрос можно перенести в хранимую процедуру. Но не хочется - так для каждого отчета придется делать свою ХП.
 
Last edited by a moderator:

Ognev

ex-Team DUMPz
Joined
Aug 20, 2018
Messages
2,106
Reaction score
902
А откуда уверенность, что FastReport поддерживает в запросах DECLARE и вложенный CASE, то есть, что через ADO они правильно передаются на сервер?
 

derricfle

Member
Joined
Nov 20, 2018
Messages
299
Reaction score
53
А откуда уверенность, что FastReport поддерживает в запросах DECLARE и вложенный CASE, то есть, что через ADO они правильно передаются на сервер?

Уверенности, конечно, нет :)
Но обычный TADOQuery вполне нормально справляется с таким запросом.

Кстати, на заметку, если в запросе FastReport убрать вложенный CASE, то запрос работает.
 

chekhlov

Member
Joined
Mar 23, 2010
Messages
5
Reaction score
1
FastReport нормально обрабатывает такие запросы

Добавлено через 55 секунд
Наверное проще было бы воспользоваться SQL Profiler и посмотреть что передается в SQL
 
Last edited by a moderator:

Freeon

Member
Joined
Feb 13, 2009
Messages
5
Reaction score
7
А причем тут фастрепорт
Он не препроцессор запросов. Максимум что он может сделать так пробиндить значения а какой запрос ему абсолютно параллельно!
Смотрите в сторону того что у Вас работает с БД и какие настроички
 

reZAK

New member
Joined
Oct 3, 2006
Messages
2
Reaction score
0
Honestly, I'm not familiar with FastReport 4, but I've worked with SQL Server a bit in the past. Can you give more context on what you're trying to achieve with your query? Maybe someone here has experience with the intersection of SQL Server and FastReport.
 

konst70

New member
Joined
Nov 2, 2004
Messages
3
Reaction score
0
I don't speak much Russian, could you explain the SQL Server query you're trying to use in FastReport 4? Maybe others here can help you translate or troubleshoot.
 

ivajt4wjq5n2

New member
Joined
Jun 15, 2017
Messages
3
Reaction score
0
I'm not super familiar with FastReport 4, but I do know it's a popular report generator. Can you post the SQL query and the exact issue you're having with FastReport? Maybe someone with more experience can help you troubleshoot.
 
Top