Использование параметров для источника данных

Обсуждение Stimulsoft Reports.WPF
Ответить
Alexander
Сообщения: 15
Зарегистрирован: 18 май 2012, 10:51
Откуда: Russia

Использование параметров для источника данных

Сообщение Alexander »

Добрый день!
Помогите пожалуйста новичку.

Источник данных:

SELECT *
FROM Cursor_one
WHERE ID_1=? and ID_2=? and ID_3=?
ORDER BY Name

Таким образом, я должен передать 3 параметра.
Понятно, что если я передаю все 3 параметра, то ОК.

Как сделать, чтобы в случае, если какой-либо параметр не указан, условие выполнялось без его участия.
Например:
Если не указан 1 параметр, запрос должен выглядеть сл. образом:

SELECT *
FROM Cursor_one
WHERE ID_2=? and ID_3=?
ORDER BY Name

Если не указан ни один из параметров, то так:

SELECT *
FROM Cursor_one
ORDER BY Name
Спасибо.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Использование параметров для источника данных

Сообщение HighAley »

Здравствуйте.

Вы можете создать строку следующего содержания 'WHERE ID_1=? and ID_2=? and ID_3=?', а уже содержимое этой строки передавать в запрос.

Спасибо.
Alexander
Сообщения: 15
Зарегистрирован: 18 май 2012, 10:51
Откуда: Russia

Re: Использование параметров для источника данных

Сообщение Alexander »

Пожалуйста поподробнее.

Конечно я могу сформировать строку, описывающую условие выбора, например:
"ID_2=3 and ID_3=324"
Но как это передать в запрос?
Конструкция типа:
SELECT *
FROM Cursor_one
WHERE ?
ORDER BY Name
где в качестве параметра подразумевается сформированная строка, не прокатывает.

Спасибо.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Использование параметров для источника данных

Сообщение HighAley »

Здравствуйте.
Alexander писал(а):Пожалуйста поподробнее.

Конечно я могу сформировать строку, описывающую условие выбора, например:
"ID_2=3 and ID_3=324"
Но как это передать в запрос?
Конструкция типа:
SELECT *
FROM Cursor_one
WHERE ?
ORDER BY Name
где в качестве параметра подразумевается сформированная строка, не прокатывает.
Создайте переменную в отчёте, например, с именем Var1.
Задайте ей значение типа "WHERE ID_2=3 and ID_3=324".
И используйте следующий запрос:
SELECT *
FROM Cursor_one
{Var1}
ORDER BY Name
Т. о. если у вас не задано ни одно значение, то у вас не будет WHERE вообще.

Спасибо.
Alexander
Сообщения: 15
Зарегистрирован: 18 май 2012, 10:51
Откуда: Russia

Re: Использование параметров для источника данных

Сообщение Alexander »

Спасибо за оперативность и терпение. Все получилось.
Andrew
Сообщения: 586
Зарегистрирован: 09 июн 2006, 12:22

Re: Использование параметров для источника данных

Сообщение Andrew »

Здравствуйте,

Отлично!

Спасибо.
Ответить