|
Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема
|
Въпрос
|
|
Автор | Tъп (Нерегистриран) |
Публикувано | 06.02.02 08:49 |
|
Може ли да попитам нещо, сори ако е много елементарно.
Имам таблица и заявка, на която искам да получа като резултат само записите от X до X+N от целия резултат.
Целта е да покажа резултата "страниран", искам да избегна получаването на всички резултати от сървъра и само да "показвам" после тези, които трябва. Това понеже резултатата може да са 10000 записа, а аз да кажем искам да дисплейна само тези от 9000 до 9010.
Заявката е от типа SELECT x FROM t WHERE y, сървъра е SQL2000.
Ще дам повече подробности ако трябва..
Много съм тъп.
| |
Тема
|
Re: Въпрос
[re: Tъп]
|
|
Автор | Zyl_Oiliuff (Нерегистриран) |
Публикувано | 06.02.02 11:25 |
|
SELECt x FROM t WHERE y LIMIT 9000,9010
ako dadesh oste podrobnosti, moje i drugo da se izmisli![](http://i.dirbg.com/clubs/icons/smile.gif)
| |
Тема
|
Re: Въпрос
[re: Tъп]
|
|
Автор | lvo (Нерегистриран) |
Публикувано | 06.02.02 12:27 |
|
Ako izpolzvash ADO recordset za dostyp do dannite mojesh da polzvash property-tata PageSize, AbsolutePage, PageCount za da stranicirash dannite.
| |
Тема
|
Re: Въпрос
[re: Zyl_Oiliuff]
|
|
Автор | Tъп (Нерегистриран) |
Публикувано | 06.02.02 17:34 |
|
Нема такова чудо като LIMIT? и в хелпа търсих и директно го пробвах- не работи
| |
Тема
|
Re: Въпрос
[re: lvo]
|
|
Автор | Tъп (Нерегистриран) |
Публикувано | 06.02.02 17:45 |
|
Благодаря
значи, като използвам това сървъра няма да върне всичките резултати? А само съответната страница?
примерно при open на recordset-a с такава заявка няма да преточи целия резултат, а само първата страница, и да кажем при Моveto 9000-я запис ще презареди само конкретната страница където се намира той?
Притеснява ме че при началния open на recordset-a /преди да съм почнал да се придвижвам в него/, ще чакам един час? Сървъра не е локален така че е важно
Не може ли да се изнесе функционалността в самия сървър, сторед процедура дето да й подавам като параметри от кой до кой запис искам, или нещо такова?
Може ли примерен код... извинявам се за нахалството
| |
Тема
|
Re: Въпрос
[re: Tъп]
|
|
Автор | Zyl_Oiliuff (Нерегистриран) |
Публикувано | 06.02.02 18:58 |
|
da praw si, twa beshe w mysql-a...
za MSSQL 2000 se polzwashe TOP....
problema s nego e che wrysta samo pyrwite n zapisa (demek ot 1 do n) i ne e tochno kakwoto ti triabwa![](http://i.dirbg.com/clubs/icons/frown.gif)
| |
Тема
|
Re: Въпрос
[re: Zyl_Oiliuff]
|
|
Автор | Tъп (Нерегистриран) |
Публикувано | 06.02.02 19:04 |
|
е тва за TOP го знам ама.... мен ми трябват последните ![](http://i.dirbg.com/clubs/icons/frown.gif)
| |
Тема
|
Re: Въпрос
[re: Tъп]
|
|
Автор | seeker (Нерегистриран) |
Публикувано | 07.02.02 00:08 |
|
tochno tova go gledah pisano za Sybase sas stored procedure obache ne pomnia link-a
kato se ima predvid che i dvete pozlvat pochti edin sashti TSQL bi triabvalo da raboti bez problem
problemat e che beshe realizirano s cursor a tova e potencialno bavna operacia
mislia che si na prav pat
potencilana vazmozhnost za zabarzvane na nestata e ako ima sortirane ili primary key da podavash i nego kato parameter kato go vkluchish vav where klauzata taka che da izkluchi predishnite redove
| |
Тема
|
Re: Въпрос
[re: Tъп]
|
|
Автор | lvo (Нерегистриран) |
Публикувано | 07.02.02 09:09 |
|
Dannite ne se teglqt na klienta. Otavrq se cursor vyrhu zapisite. Toi moje da byde server-side ili klient-side. Vtoriq zaema poveche mqsto na klienta i se otvarq po-bavno no za smetka na tova se raboti p-byrzo s nego. Az sym pravil podobno stranirane - dokolkoto si spomnqm za okolo 60000 zapisa kursora se otvarqshe za okolo 1-2sec ( client-side ) i posle samite danni se fetch-vaha strashno byrzo. Sys server-side cursor-a se otvarqshe vednaga, no za smetka na tova dannite se pretochvaha nedopostimo bavno.
Shto se otnasq do varianta sys stored-procedura ili nqkakyv drug variant na SQL za vsqka stranica - tova osven che shte otnema vreme za izpylnenie na zaqvkata vseki pyt ( pri golqma tablica shte e chuvstvitelno bavno ), osven tova syshtestvuva i problema che dannite mogat da se promenqt mejdu dve straniciraniq. Naprimer ako na stranica 1 imash 3-te reda A, F, M, otivash na stranica 2 i dokato si na neq nqko dobavq red B i kato se vyrnesh na stranica 1 veche vijdash A, B, F. stranica 2 syshto shte se e smenila. Tova ne e chak tolkova vajno v povecheto sluchai no nai-malkoto e neestestveno.
Shto se otnasq do primeren kod - ne moga da ti dam takyv no ne mislq che shte sreshtnesh trudnosti s implementaciqta. Ako polzvash C++ i pokazvash rezultatite v List Control - mojesh da poglednesh virtual list control-a. Toi e izkliuchitelno podhodqsht za podoben vid problem
| |
Тема
|
Re: Въпрос
[re: Tъп]
|
|
Автор | Zyl_Oiliuff (Нерегистриран) |
Публикувано | 07.02.02 11:19 |
|
nachi warianta twa da stane sys TSQL zaiawka e slednia:
naprimer ako iskash da wzemesh mejdu 40 i 50-ti zapis prawish SELECT sys TOP 50. posle obrystash rezultata otzad napred i prawish TOP 10. Cialata taia hava si ia napiswash w edna stored proc s parametri ot koi do koi zapis iskash rez i niamash nikwi griji
a inache ako ste prawish wryzkata sys c++ izpolzwai cursor-a
| |
|
Страници по тази тема: 1 | 2 | >> (покажи всички)
|
|
|