Вниз
Скачать: CL | DM;

Select   Найти похожие ветки 

← →
viper_cd   (2003-12-01 09:18) [0]

Есть массив целых чисел [1,7,12,45....], эти числа - номера уникальных полей в таблице! Как сделать запрос и выбрать записи чтобы он возвратил все записи которые указаны в массиве? Я так думаю это должна быть процедура, но как там все написать...пожалуста помогите!


← →
Илайдж ©   (2003-12-01 09:28) [1]


var
s: string
sql: string;

for i:=0 to mas_count-1 do s := s + inttostr(mas[i])

sql := "select * from table where id in (" + s + ")"


← →
bon ©   (2003-12-01 09:33) [2]

var str:string;
i:integer;
.....
begin
......
Query.close;
Query.sql.Clear;
Query.sql.add("select * from table");
str:="(";
for i:=1 to n-1 do str:=str+IntToStr(mass[i])+",";
str:=str+IntToStr(mass[n])+")";
Query.sql.add("where fild in "+str);
Query.open;
......
end;

Идею понял?


← →
Silver Alex ©   (2003-12-01 10:07) [3]

function ArrayToParam(ar: array of integer): String;
var
i: Integer;
begin
if Length(ar)=0 then
begin
Result:="-1";//ID той записи которой наверняка нет
Exit;
end;
for i:=low(ar) to high(ar) do
if Result=EmptyStr then
Result:=inttostr(ar[i])
else
Result:=Result+","+inttostr(ar[i]);
end;

Query.sql.add("where fild in ("+ArrayToParam(MainArray)+")";



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-75239
ertong
2003-12-10 18:11
2003.12.23
Проблемы с try


3-75103
Ross
2003-11-29 15:45
2003.12.23
Delphi+MySQL


6-75299
Amirka
2003-10-26 13:19
2003.12.23
печать страницы из TWebBrowser


8-75282
Maks
2003-08-25 12:18
2003.12.23
Размер изображения


3-75078
_mandrake_
2003-12-01 10:26
2003.12.23
преобразование поля типа TIMESTAMP в таблицах в текстовом виде




   Наверх