Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.22;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
1-69912
CrazyXP
2002-04-08 20:19
2002.04.22
Несколько вопросов


1-69790
Lame1
2002-04-10 12:24
2002.04.22
Чтение записей из файла


1-69829
VJar
2002-04-08 21:20
2002.04.22
Проблема с TNMSMTP


14-70022
Alexandr_
2002-03-13 12:35
2002.04.22
Где-то читал про программу которая exe_шник.....


6-69967
fidget
2002-02-08 17:48
2002.04.22
TWebBrowser и Ctrl+C/Ctrl+V