Newsgroup: it.comp.www.asp
Titolo: SELECT casuale

ciao a tutto il NG
volevo porvi una domanda.
Esiste il modo di fare una SELECT SQL casuale?
Mi spiego meglio, posso recuperare per esempio tre campi di una tabella a
caso?
ciao e grazie
--
Kappa
kappa**nospam**@
webngo.net
www.webngo.net

 caso?
Se usi una SELECT * recuperi tutti i campi, poi potresti usare
una funzione random per recuperare un campo casuale usando
rs.Fields(numero),
ma a che pro?
Davide
-- 
Posted from 
mail.square.nl
 [193.78.176.18] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Davide
scusami grave errore da parte mia..
Non volevo scirvere campo ma record. Io devo recuperare 3 record a caso.
--
Kappa
kappa**nospam**@
webngo.net
www.webngo.net

 Non volevo scirvere campo ma record. Io devo recuperare 3 record a caso.
L'unica che mi viene in mente e' di fare un ciclo che si legge l'intera
tabella e fermarsi "casualmente" su un record durante il ciclo, sempre
con un numero random. A questo punto hai 3 cicli, il primo ti legge
'n' record e becchi l'ultimo del "mazzo", il secondo idem... il
problema e' essere sicuro di fermarsi prima della fine della tabella...
Davide

 ha scritto nel messaggio
news:91vokp$5dv5e$2...@ID-18487.news.dfncis.de...

io avevo pensato di leggere tutta la tabella e memorizzare in un array tutti
i valori del campo ID di questa tabella e poi di fare un random sull'indice
dell'array. Che ne dici??
--
Kappa
kappa**nospam**@
webngo.net
www.webngo.net

 dell'array. Che ne dici??
Che sono un cretino! Mi sono dimenticato che puoi utilizzare la Move(x) dove
'x' e' un numero casuale per posizionarti su un record a caso all'interno
della tabella. Ovviamente devi aprire il Recordset in modo "scorribile"
(3,3). Anche il sistema di caricarsi tutta la tabella in memoria e'
fattibile, ma occhio alla dimensione della tabella...
Davide

 wrote in message
EVJ06.2457$n5.3...@news6.giganews.com...

Si, credo sia il modo + veloce se la tabella non č gigante...
in caso contrario potresti fare cosě:
for x=1 to 3
  rs.movefirst
  n=rnd()*rs.recordcount
  for i=0 to n
    rs.movenext
  next
next
in piů devi aggiungere il codice per controllare che non escano 2 numeri
uguali.... inoltre si presuppone che ad accedere a quella tabella sia un
solo processo alla volta, altrimenti il discorso č molto + complicato...
Saluti casuali :-)
A:Lex;
--
.......................................................
Gallery:
http://www.e-content.net/alex/gallery
Se avete qualche problema col pc
 o volete qulalche info o suggerimento
  o se volete chattare cliccate qui:
 
http://www.aiutoooo.com
    (Il primo sito di Aiuto on-line)
      Alex sul Web:
 
http://www.e-content.net/alex
        Votate e create i vostri sondaggi
         su formula1 e non... (non lo aggiorno mai)
......................................................

 fattibile, ma occhio alla dimensione della tabella...
Il problema è che in questo modo dovrei controllare + volte EOF. Visto che
non posso conoscere a priori la dimensione della tabella, ma al massimo
recupero 500 record mi sa che faccio prima a caricarmeli in un array.
ciao
--
Kappa
kappa**nospam**@
webngo.net
www.webngo.net


Moderatore di it.comp.www.asp
Sito di supporto: 
http://www.aspitalia.com/newsgroup/
La piů grande community italiana di sviluppatori!

 Buon Natale, buon 2001 e CIAO!.db
Buone Feste anche a tutto il NG  :-)


