![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выборка в базе..
able © (2004-12-13 14:45:00)Вручную ищу в базе.
Когда находим, записываю в массив уникальный номерок записи..
Как вывести все записи, в которых присутствует этот номерок?
Не делать же:
str:='select * from основная'
for i:=1 to ii do
begin
zapr:=zapr+'where UNIQ_IP like "'+inttostr(array[i])+'";
end;
..
able (2004-12-14 19:00:00) [1]msguns © (14.12.04 14:50) [15]
Всегда мечтал, чтобы меня поругали за код на этом форуме :)
Но там незачто ругать, слишком мало...
msguns (2004-12-14 14:50:00) [2]ИМХО, так красивше ;)
if i>1 then q := q+', ';
q:=q+inttostr(f[i])
able (2004-12-14 13:36:00) [3]Anatoly Podgoretsky © (13.12.04 18:37) [13]
бывает :))
--
Тема закрыта, вопрос исчерпан..
Anatoly Podgoretsky (2004-12-13 18:37:00) [4]Про пробел не считать ошибся :-(
able (2004-12-13 16:00:00) [5]Уф, понял в чем ошибка - забыл убрать:
adotable1.enablecontrols..
able (2004-12-13 15:58:00) [6]Ольга (13.12.04 15:44) [9]
вот:
SELECT Организация, код, адрес, телефон, раздел
FROM Основная
WHERE Код IN ( 8, 9 );
> Anatoly Podgoretsky © (13.12.04 15:51) [10] [Новое
> сообщение
Что с пробелом, что нет - всё равно..
Anatoly Podgoretsky (2004-12-13 15:51:00) [7]able © (13.12.04 15:32) [8]
Ольга тебе намекает, что нет пробела перед WHERE
Ольга (2004-12-13 15:44:00) [8]Перед Open посмотрите, что у вас получилось:
str:=Datam.ADOQuery.SQL.Text
able (2004-12-13 15:32:00) [9]оч надо..
able (2004-12-13 15:13:00) [10]
with Datam.ADOQuery do // Формируем запрос SQL
begin
q:='WHERE Код IN ( ';
for i:=1 to i4-1 do
begin
if i=1 then
q:=q+inttostr(f[i])
else
q:=q+', '+inttostr(f[i]);
end;
q:=q+' )';
showmessage(q);
with SQL do
begin
clear;
Add('SELECT Организация, код, адрес, телефон, раздел ');
Add('FROM Основная');
Add(q);
end;
Open;
end;
Когда происходит "showmessage(q)"
Выскакивает "Where Код in ( 8, 9 ), а он выводит только запись, где код 9...
P.N.P. (2004-12-13 14:58:00) [11]используй оператор IN
SELECT * FROM основная WHERE UNIQ_IP IN ( 1, 2, 3, 4, 5 );
P.N.P. (2004-12-13 14:58:00) [12]опоздал =)
Sergey13 (2004-12-13 14:57:00) [13]Через запятую.
able (2004-12-13 14:56:00) [14]Sergey13 © (13.12.04 14:53) [1]
Список номеров через пробелы?
able (2004-12-13 14:54:00) [15]Sergey13 © (13.12.04 14:53) [1]
Thanks!
Sergey13 (2004-12-13 14:53:00) [16]select * from основная where UNIQ_IP in (список номерков)