Newsgroup: it.comp.www.asp
Titolo: comparazione dati

Salve a tutti,
secondo voi qual'e' il metodo migliore in termini di prestazioni e velocita'
per comparare circa 20000 record?
Devo cioe' verificare che un determinato dato inserito tramite form sia
esistente o meno in una tabella che gia' contiene dati nel mio dbase.
Grazie
Giovanni

 per comparare circa 20000 record?
Non compararlo... obbligare l'utente a scegliere una informazione gia'
esistente.
Davide

 wrote in message
dLz66.224$1c.2...@twister2.tin.it...

Se ho capito bene tu devi controllare se un dato immesso in un form è
presente o meno nel database, giusto?
Sicuramente il metodo più veloce è creare un recordset con solo quel record.
se non c'è nel database allora la query sarà vuota.
Ciao!
Davide

> Non compararlo... obbligare l'utente a scegliere una informazione gia'
esistente.
Allora tu intendi che, arrivato al dato da comparare, faccio scegliere
all'utente da una finestra-menu (combo) collegata alla tabella che gia'
possiedo? Ma non ci mette una vita a caricare tutti i 20000 record?
Giovanni



Se glieli fai caricare tutti si', ma se lo fai passare da una selezione
prima no. Voglio dire, dubito che quei 20.000 record siano tutti 
"consequenziali", ci sara' un modo per raggrupparli e/o strutturarli
(es. regioni/provincie/comuni), in alternativa fai una maschera di
ricerca che consente all'utente di fare una ricerca parziale sui dati in
modo che si ritrovi a scegliere tra 10/20 record al massimo. A questo
punto non devi farti il controllo su 20.000 record ma soli leggerne 10
e presentargli una combo di 20 righe...
Ammetto che il meccanismo e' piu' complicato e lungo che chiedere
'dimmi il comune' e poi fare la ricerca, ma rischi che l'utente canni
a scrivere e di risbattergli indietro la richiesta con "comune inesistente..."
Davide

 wrote in message
news:dLz66.224$1c.2...@twister2.tin.it...


Mi sembra di capire che devi inserire un record in una tabella e di questo
nuovo record c'č un campo (FK) referenziato ad un campo (PK) di un'altra
tabella. Un esempio puņ essere la la videoteca dove c'č una tabella
Categorie (Fantascienza, azzione, avventura....) ed una tabella
Videocassette dove c'č un campo Categoria che deve appartenere la campo
idCategoria della tabella Categorie. Sbaglio? Mi sono spiegato male?
A questo punto dovresti aver creato una relazione 1 a molti fra la tabella
che contiene i 20.000 record e la tabella nella quale vai ad inserire il
record che proviene dal form html.
Se hai fatto questo hai gią creato degli indici e dlle relazioni che ti
impediscono di inserire record non validi (cioč non appartenenti all'insieme
dei 20.000).
Allora perchč devi verificare tu che il record sia valido? Lascia che sia il
DBMS a verificare l'integritą dell'informazione; se l'utente inserirą un
dato valido l'inserimento andrą a buon fine se invece inserirą un valore non
coretto il sistema ti solleverą (raise) un erroe. A te non resta che
tracciarlo ed interpretarlo.
prima della query di inserimento inserisci la riga:
on error resume next 'inibisci gli errori
procedi con l'inserimento
alla fine verifichi lo stato dell'oggetto Err
on error goto 0 'riabiliti gli errori
if Err.Number <> 0 then
    'c'č stato un erore
    'traccialo e fai quello che divi fare.
    Err.Clear
end if
In Bocca al lupo.
    Andrea