|
Тема
|
Kak да "обходя" резултатът от TIbQuery ?
|
|
Автор | about (Нерегистриран) |
Публикувано | 24.11.03 23:33 |
|
1. За да напиша for i:= 0 to ??? do, ми трябва ???. Как да го взема,
q.RecordCount-a ми връща винаги 1, а определено има повече записи в резултатът на q-то.
2. С това също не става:
q.First;
while q.Next <> nil then begin
...
q.Next
end;
Мога да пусна 2-ра заявка в която да рабера count-a, ama ne mi hareswa taka...
Селект-а е върху много голяма таблица, ще стърже бая...
Имаше преди време една тема, направо правя копи/пасте:
"
Здравейте.
Извинявам се за лесния въпрос но...
1. Имам една заявка от вида"SELECT SUM(Field1) FROM Table WHERE ...".
Искам да взема "recordcount" но в случая ми връща 1 както трябва и да е.
Има ли начин да взема recordcount, но на всички отговарящи итерации т.е. аналог на "SELECT Field1 FROM Table WHERE ...". Решение е да си направя още една заявка от която да вземам брой, но ще е по добре без нея.
Благодаря на всички отзовали се.
Ако правилно съм те разбрал, трябва да разбереш колко записа ти отговарят на тази заявка. В такъв случай това ще ти сварши работа:
SELECT SUM(Field1),COUNT(Field1) FROM Table WHERE ...".
"
Тук всичко е ОК, ако освен COUNT(Field1) ми трябваше само Sum, но на мен ми трябват и Field1, Field2 i t.n.
Та, как се обхожда глупавият резил на глупавото q-ри?
| |
Тема
|
Малееее това е "по-мъгливо"...
[re: about]
|
|
Автор |
PhantomAS (няма) |
Публикувано | 25.11.03 08:43 |
|
и от мъглата навън.
Не мога да отговоря на толкова сложен въпрос - толкова рано.
Мога само да ти дам елементарен начин за обхождане на данните върнати от заявката :
IbQ : TIBQuery;
IbQ.First; //това за всеки случай ако някой е мърдал курсура
while not IbQ.EOF do //тук въртиш докато не стигнеш до края
begin
//правиш каквото правиш с текущия запис
IbQ.Next; //това ти минава на следващия запис
end;
Айде като разбереш какво точно искаш да направиш - се обади пак.
---
Е т'ва е живот!
| |
Тема
|
Re: Kak да "обходя" резултатът от TIbQuery ?
[re: about]
|
|
Автор | synchu (Нерегистриран) |
Публикувано | 25.11.03 10:37 |
|
probvaj slednoto
otvori si tam query-to
i pishi slednoto
q.Last;
i sled tova proveri q.RecordCount dali e ok.
pishi dali bachka ;) (njama kak da go proverja ottuka kydeto sym, no e edno teoretichno predpolozhenie, koeto posle shte detajliziram, ako raboti ;) )
| |
Тема
|
Re: Kak да "обходя" резултатът от TIbQuery ?
[re: synchu]
|
|
Автор | about (Нерегистриран) |
Публикувано | 25.11.03 22:41 |
|
10х, ще проверя, но по-късно...
| |
Тема
|
Re: Малееее това е "по-мъгливо"...
[re: PhantomAS]
|
|
Автор | about (Нерегистриран) |
Публикувано | 25.11.03 22:44 |
|
Първо - 10х за съвета. ЕОФ му било майката...
Второ - поста верно е малко мъглив, но проблема си е още в името на темата, и ти си се ориентирал идеално!  
| |
Тема
|
Re: Kak да "обходя" резултатът от TIbQuery ?
[re: about]
|
|
Автор |
x-man (дебел) |
Публикувано | 27.11.03 10:46 |
|
това би трябвало да работи обче ако извличаш няколко милиона записа недей да го пробваш или си вземи суха храна че ще изсъхнеш докато мине на последния ред 
| |
Тема
|
Re: Kak да "обходя" резултатът от TIbQuery ?
[re: x-man]
|
|
Автор | synchu (Нерегистриран) |
Публикувано | 27.11.03 11:14 |
|
e tva se pak zavisi ot index-ite...ako where-a e po index i she mine tochnu za polvin secunda ( okolo de okolo ;) ).
Taka ili inache veche e cache-nal page-ovete, koito trjabva da naobikoli....
| |
|
|
|
|