[ 01011011 @ 13.03.2006. 16:15 ] @
Dakle kada se uradi neki search i recimo pretraga vrati nazad 360 REZULTATA u record set. sada imam trenutno samo ono accending ili descending order po broju slike ili image_id. Zelio bih da mi se ovi rezultati izlistavaju randomizirano.

Kkao da ovo uradim, a da ne mijenjam strukturu baze podataka, jer ne smijem da mijenjam.
[ degojs @ 13.03.2006. 16:29 ] @
.. ORDER BY NEWID()

će da reši stvar ako je u pitanju SQL Server, ako se dobro sećam.
[ 01011011 @ 13.03.2006. 18:07 ] @
ovo nece raditi...

Problem je sto imam npr u rezultatu 12 stranica po 12 slika.

E sada svaki put kada kliknem na NEXT da idem na sledecu stranicu on opet zove funkciju i onda se opet sve randomizira... To ne smije da se dogadja, jer onda 12 stranica ako imam moze se dogoditi da 3-4 puta vidim istu sliku na razlicitim stranicama.

Znaci potrebno je da se uradi query i da se samo jednom uradi randomizacija i onda poslije toga da se sve sacuva u dataset i da se onda listaju stranice koje ce biti iste, znaci na stranici 4 ce uvijek biti 12 identicnih slika.

Sada ako odem na stranicu 5 pa se vratim na stranicu 4, sve je izmenjano...

???

hvala na brzonm odgovoru, da li neko ima neke ideje jos?
[ degojs @ 13.03.2006. 18:25 ] @
Ha, ja se sad vise ne secam detalja vezano za DataSet, ali mozda mozes da uradis nesto drugo: rezultat ORDER BY NEWID() stavi u privremenu tabelu (dovoljno je da prebacis samo primarni kljuc) i onda SELECT radi iz pogleda koji pridruzuje (JOIN) tu tabelu i onu pravu.


Mada.. cini mi se da mozes da prevuces komplet rezultat-set u DataSet, pa da onda radis filtriranje i sortiranje..

//update:

..te ako malo koristis Google, mozes da nabasas na tekst poput ovog:

http://www.akadia.com/services/dotnet_filter_sort.html


[Ovu poruku je menjao degojs dana 13.03.2006. u 19:32 GMT+1]
[ 01011011 @ 13.03.2006. 19:48 ] @
Kako mislis da napravim privremenu tabelu pa da po njoj sortiram ne razumijem.

Moj advanced search nije procedura posto imam 8 tabela kroz koje se vrsi provjera, pa sam svo kreiranje SQL statementa napravio kao dio programskog koda koji se generise na osnovu parametara.
[ rebelian @ 14.03.2006. 13:06 ] @
ako resursi na serveru dozvoljavaju (i ako sam dobro razumeo da se radi o web aplikaciji) mozda da prvi result smestis u Session i taj DataSet / DataTable koristis kao DataSource, samo tu ces imati problema da uradis sinhronizaciju ako se novi record pojavi u bazi i zadovoljava search condition, a user je vec uradio search, mada mozda je to mozda i zeljeni behaviour.

p.s. nadam se da result set sadrzi samo pathove do imagea a ne same image inace sve ovo pada u vodu jer sumnjam da neki server moze da odvoji toliko memorije za samo tu funkcionalnost. ;)

++ ne zaboravi da discardujes daj DataSet ( Session.Remove ) ako user ode sa search / result strane.