Random pick in pagina asp

Ian CPFC

Nuovo Utente
13 Mag 2008
3
0
0
Salve, premetto che non ho particolare conoscenza di programmazione, e vi chiedo un aiuto. Immagino che per gli esperti sia possa essere una sciocchezza ma io non lo so fare...

Esempio
Ho una tabella in un database

Mario - Via Bianchi - Genova
Pietro - Via Verdi - Genova
Gianni - Via Rossi - Genova
Luca - Via Bianchi - Roma
Giorgio - Via Verdi - Roma
Simone - Via Rossi - Roma
Giuliano - Via Gialli - Roma
Marco - Via Bianchi - Torino
Luigi - Via Verdi - Torino

io voglio che la mia pagina asp dapprima scelga la città, ma non con la stessa probabilità di accadere.
Per questo pensavo di fare una funzione
random Int Rnd * 100
if x<20 then Genova
if x>20 <70 then Roma
if x>70 then Torino
Ora ho scritto solo il concetto, non la sintassi corretta. In questo modo mi da 20% di possibilità Genova, 50% Roma, 30% Torino. E questo mi va bene.

Ma come faccio ora a fargli pescare un record (un nome proprio quindi) della città che è uscita dal primo "sorteggio"? (i nomi propri hanno le stesse probabilità di uscire, ma notare che però non sono lo stesso numero nei vari casi, infatti Genova ne ha 3, Roma 4 e Torino 2)
Spero di essere stato chiaro, grazie a chi potrà aiutarmi
 
grazie per la risposta. In verità il DB è SQL. E' lo stesso?
Direi di si, cambiando ovviamente la stringa di connessione ;)

Oppure puoi provare ad agire direttamente tramite SQL, ed il comando per estrapolare un record random dall'SQL di SQL Server lo trovi qui:
http://www.petefreitag.com/item/466.cfm
Io non l'ho mai usato, vedi un pò tu se ti va bene la soluzione di prima o se vuoi provare questa! :)

:byebye:
 
gentilissimo.
Quindi in sostanza tu mi consigli di fargli pescare una riga a caso tra le 9 (in ogni caso tra il numero totale di record che ho) e in seguito fargli fare il controllo se ha nella casella città la città estratta al primo passaggio, se ce l'ha bene, oppure loop finchè non la trova, giusto?

C'è il rischio che si blocchi se ho molte più righe?
 
Ian CPFC ha scritto:
gentilissimo.
Quindi in sostanza tu mi consigli di fargli pescare una riga a caso tra le 9 (in ogni caso tra il numero totale di record che ho) e in seguito fargli fare il controllo se ha nella casella città la città estratta al primo passaggio, se ce l'ha bene, oppure loop finchè non la trova, giusto?
...
Esatto :)
Praticamente con tale metodo, il recordset del DB viene trattato come un array, ed il valore random viene calcolato sul valore max di tale array.

Ian CPFC ha scritto:
...
C'è il rischio che si blocchi se ho molte più righe?
Essendo che utilizzi SQL Server direi che il rischio è remoto, ma male che vada puoi gestire l'eccezione come consigliato nel tutorial.

Più di così mi spiace ma non saprei dirti perchè non ho mai avuto modo/necessità di fare quanto devi realizzare tu.

Prova, casomai poi se hai problemi noi siamo qui
:byebye:
 

Discussioni simili