Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.47 MB
Время: 0.047 c
2-1179311262
DelphiLexx
2007-05-16 14:27
2007.06.03
Как отловить момент изменения значение в Footer e


15-1178527043
Ega23
2007-05-07 12:37
2007.06.03
Нужна приблуда.


15-1178850013
Slider007
2007-05-11 06:20
2007.06.03
С днем рождения ! 11 мая


2-1179151381
Muchacho
2007-05-14 18:03
2007.06.03
звук в TEdit


2-1179226884
Provodnick
2007-05-15 15:01
2007.06.03
Строку с #0 в XML





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский