Форум: "Базы";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
ВнизADOQuery- как правильно работать с параметриз.запросом Найти похожие ветки
← →
kserg@ukr.net (2002-04-03 12:17) [0]Ранее был вар-т select...where ID_PKI=:IdPKI
где IdPKI - пар-р целое число
Возникла необходимость переделать запрос, чтобы выбирать из списка типа where ID_PKI in (1,2,6)
Переделал запрос
select...where ID_PKI in (:IdPKI)
где IdPKI - пар-р строка типа "1,2,6"
select...where ID_PKI in :IdPKI
где IdPKI - пар-р строка типа "(1,2,6)"
В обоих случаях вылетает ошибка.
Как корректно порешить проблему?
Спасибо
← →
Aleksandr (2002-04-03 12:25) [1]Ну, на самом деле здесь проще решать установкой фильтра, а не изменением запроса. Но можно и так:
SELECT * FROM Table
WHERE ID_PKI IN (:ID1,:ID2,:ID3)
И кстати, не советую параметры обзывать именами полей... Бывает, не проскакивает.
← →
Johnmen (2002-04-03 12:25) [2]Ошибка из-за того, что фактически ты хочешь сделать макроподстановку, а не параметр указать !
Для ADO красивого решения не знаю, кроме, как делать запрос целиком динамически...
← →
kserg@ukr.net (2002-04-03 12:52) [3]> Johnmen © (03.04.02 12:25)
Печальный факт, но всё равно
спасибо, уважаемый, не раз получаю от тебя ответы.
У меня ещё вопросик (немного не в тему):
как в MSSQL можно тестировать запросы на предмет скорости
выполнения различных вар-тов запроса.
← →
Johnmen (2002-04-03 13:06) [4]Ошибка из-за того, что фактически ты хочешь сделать макроподстановку, а не параметр указать !
Для ADO красивого решения не знаю, кроме, как делать запрос целиком динамически...
← →
Johnmen (2002-04-03 13:16) [5]Прошу прощения за дублирование... :(
← →
TSV (2002-04-03 13:37) [6]> kserg@ukr.net (03.04.02 12:52)
Замерять время выполнения запроса:
declare
@time1 datetime,
@time2 datetime
select @time1 = getdate()
select * from table1 -- тестируемый запрос
select @time2 = getdate()
select datediff(ms, @time1, @time2)
Удачи.
← →
TSV (2002-04-03 13:39) [7]Только желательно тестить на реальных данных.
А еще можно смотреть план запроса, пробовать строить индексы и т.д.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c