[VB] Confronto tra array e db

mercoledì 29 luglio 2009 - 12.45

samar Profilo | Senior Member

Salve a tutti,
avrei la necessità di poter confrontare due dati, il primo risiede in un array di oggetti booking con le proprietà, data, cliente,etc e il secondo con un dato pescato dal db.Il problema è che dovrei vedere se il dato preso dal db è presente nell'array per poter agire di conseguenza, come potrei procedere?
Se bisogna posto un pò di codice così magari sono più chiaro.
GRAZIE

luxsor Profilo | Guru

Ciao Bruno,
ti consiglio di crearti una function che ti restituisca un valore booleano, sulla base della seguente ricerca:

Private Function VerificaValore(byval ValoreDaTrovare as string)

'esegui un ciclo FOR all'interno dell' Array e per ogni voce confronti la variabile ValoreDatrovare

End Function

PS: Speri che intendevi questo????

Fammi sapere


------------------------
Luxsor

Anonimo Profilo | Senior Member

è indispensabile che usi l'array? altre forme di strutture dati farebbero a caso tuo, fammi sapere e ti fornisco l'algoritmo migliore.

samar Profilo | Senior Member

Intanto grazie a tutti e due!
forse faccio prima a spiegare cosa vorrei realizzare....
praticamente un check per la disponibilità di camere, quindi l'utente seleziona data inizio e data fine, dopodichè compare una tabella (repeater) con tante righe quanti sono i giorni e per ogni giorno deve dire se la camera è libera o meno.
Ho pensato di costruire una classe Booking con Data|GiornoDellaSettimana, riempio un arraylist con questa classe per ogni giorno da controllare e poi ci bindo il repeater, a questo punto ho la mia tabella dei giorni. Adesso dovrei fare il check per vedere per ogni giorno se nel db è presente un record con l'id della camera, il che vorrebbe dire che la camera è prenotata, se lo è o meno devo intervenire nel repeater per modificare il valore di una semplice label da libero a occupato per esempio.

Anonimo Profilo | Senior Member

Io userei i Dictionary Generic, carichi i tuoi oggetti nel dictionary<string, oggetto> dove string sarà la chiave, ipotesi l'id della tabella e poi con la funzione ContainsKey guardi se esiste nel tuo raggruppamento, è rapidissimo usa tabelle Hash e scrivi pochissimo codice

Per i riferimenti di codice:
http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

samar Profilo | Senior Member

Non conoscevo i Dictionary, grazie per la dritta me li andrò a guardare meglio....
per ora ho risolto utilizzando innanzitutto una gridview, nel suo RowDataBound ciclo un Datareader coi valori nel db e li confronto con quello presente nel e.Row.DataItem, solo che così per ogni riga interrogo il db e la cosa non è che mi piaccia tanto...
cmq ora guardo quello che mi hai consigliato anche se anche li credo che dovrò cmq interrogar eil db ogni volta...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5