Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 11:28 28.06.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 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



Тема 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



Тема Re: Въпроснови [re: Zyl_Oiliuff]  
АвторTъп (Нерегистриран)
Публикувано06.02.02 19:04



е тва за TOP го знам ама.... мен ми трябват последните



Тема 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 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.