![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть запрос:
select * from table1 where id IN (:MasId) в проге: var MasId : array of integer; begin setlength(MasId,lengthMasId); ADODataSet1.Parameters.ParamByName('MasId').Value := MasId; И ошибка! |
#2
|
||||||
|
||||||
![]() Если массив содержит последовательные значения, то запрос составляется просто, например:
select * from table1 where id >= 2 and id <= 10 Если массив содержит не регулярную последовательность значений, то без цикла не обойтись, в котором и составляется условие поиска для WHERE. Если, конечно, массив не гигантский. Код:
И в первом варианте и во втором параметр должен быть строкового типа. А запрос должен выглядеть несколько иначе: select * from table1 where :MasId Первый вариант: Код:
Второй: Код:
И в первом случае можно обойтись вторым вариантом. Будет создана строка типа: ' id in (1,2,3,4,5,6)'. Последний раз редактировалось san-46, 03.05.2008 в 01:12. |