Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизКак разобрать результат селекта где i*j записей? Найти похожие ветки
← →
vegarulez © (2007-05-14 20:23) [0]Привет всем мастерам.
У меня такой вопрос...
Я обычно делал сеоект который возрашал 1 рекорд с n филдзами и обращался к ним таким образом...
Var
MyList1: Tstringlist;
i,j:integer;
x:string
begin
i:=0;
j:=0;
....
MyList1 := TStringList.Create;
With Datamodule2.SQLQuery2 do
begin
if Active then Close;
SQL.Text := SELECT * FROM z where a=""+ x +""";
try
Open;
While not Eof do
begin
MyList1.Append(Fields[j].AsString);
Next;
j:=j+1;
end;
except on E:Exception do
ShowMessage(E.Message);
end;
end;
Теперь вопрос...
пытаюсь провести селект такого плана:
select a, b from z where Id>1
То бишь возращается i на j записей...
Вопрос как разобрать? (т.е. обратится к i-ой j-ой записи)
← →
DrPass © (2007-05-14 20:32) [1]
> While not Eof do
> begin
> MyList1.Append(Fields[j].AsString);
>
> Next;
> j:=j+1;
> end;
И чё, так у тебя работало корректно?
← →
Loginov Dmitry © (2007-05-14 20:52) [2]> То бишь возращается i на j записей...
Это как так?
← →
vegarulez © (2007-05-15 15:38) [3]DrPass © (14.05.07 20:32) [1]
> Next;
> j:=j+1;
Местами перепутал
j:=j+1;
Next;
Loginov Dmitry © (14.05.07 20:52) [2]
ну то бишь раньше возращалась запись 1 вот такого вида
--------------
| Id | a | b | ...
--------------
| 1 | x | y | ...
--------------
Теперь же у меня допустим выдаются данные такого вида
--------
| a | b |
--------
| x | y |
--------
| x | Y |
--------
| x | y |
--------
|...| ...|
--------
← →
Desdechado © (2007-05-15 15:45) [4]Чтоб обратиться к содержимому записи, нужно на нее перейти.
Locate, First, Next, Last, Prior
и особнячком GotoBookmark
← →
DrPass © (2007-05-15 15:51) [5]
> vegarulez © (15.05.07 15:38) [3]
А хоть так, хоть так. Правильное перемещение по полям одной записи выглядит как-нибудь так:
For j:=0 to Fields.Count - 1 do
MyList1.Append(Fields[j].AsString);
...и без всяких while not eof, это уже нужно для перемещения по записям
Т.е. если у тебя много полей и много записей, то будет выглядеть так:While not Eof do
begin
For j:=0 to Fields.Count - 1 do
MyList1.Append(Fields[j].AsString);
Next;
end;
← →
Sergey13 © (2007-05-15 16:06) [6]> [3] vegarulez © (15.05.07 15:38)
> | x | y |
> --------
> | x | Y |
> --------
> | x | y |
Я бы добавил еще одно поле, хотя бы вычисляемое, строковое, длинной в 1 символ. С буквой "Й".
Тогда вывод примет законченный вид. 8-)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c