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

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

Добавлено: 02 ноя 2012, 12:33
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
Спасибо.

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

Добавлено: 02 ноя 2012, 14:34
HighAley
Здравствуйте.

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

Спасибо.

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

Добавлено: 02 ноя 2012, 21:28
Alexander
Пожалуйста поподробнее.

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

Спасибо.

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

Добавлено: 05 ноя 2012, 09:12
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 вообще.

Спасибо.

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

Добавлено: 06 ноя 2012, 19:59
Alexander
Спасибо за оперативность и терпение. Все получилось.

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

Добавлено: 08 ноя 2012, 08:00
Andrew
Здравствуйте,

Отлично!

Спасибо.