salve ragazzi, buongiorno!
Io ho creato una stored con all'interno un semplice codice di Update...
Questo codice serve ad aggiornare un campo del db chiamato dataPartenza. Ovviamente c'è a monte anche un campo denominato DataArrivo,un campo Idstato ed altri due campi che rappresentano la chiave primaria che sono: codalbergo e codcomune.
Allora la mia query è la seguente:
Update dbo.archivio_mov Set datapartenza=@datapar Where codalbergo=@codalb and codcomune=@codcom and idstato=@codstato
Funziona tranquillamente solo che ora dovrei inserire un determinato controllo, ossia devo stabilire che se la data di partenza è inferiore alla data di arrivo non si deve effettuare l'update e mi deve ritornare un messaggio di errore che posso gestire da vbnet.
Mi spiego meglio con un esempio e vi posto i codici:
Ecco la tabella:
supponiamo l'inserimento dei seguenti record:
il codice idstato=70 rappresenta la nazione FRANCIA
pertanto nella tabella del db avremo i seguenti record:
1000 - 60038 - 09-09-2008 - Null - 70
1000 - 60038 - 09-09-2008 - Null - 70
1000 - 60038 - 09-09-2008 - Null - 70
1000 - 60038 - 09-09-2008 - Null - 70
1000 - 60038 - 09-09-2008 - Null - 70
1000 - 60038 - 10-09-2008 - Null - 70
1000 - 60038 - 10-09-2008 - Null - 70
1000 - 60038 - 10-09-2008 - Null - 70
ora io per facilitare il cliente in quanto gestire tantissimi movimenti per loro resta impossibile, ho dovuto raggruppare nell'applicativo tutto i movimenti che non hanno partenza per idstato.
Pertanto in vbnet i miei clienti avranno quanto segue:
8 arrivi Francia
senza riportare la data di arrivo.
Io a questo punto mi serve da implementare la mia update facendo in modo che posso aggiornare la data di partenza a qualsiasi record che hanno l'idstato che stabilisco anche se hanno data arrivo diverse, ma questa data di partenza deve essere superiore alla data di arrivo.
esempio:
se dico che 5 record di Francia devono partire l'11-09-2008 avreo il seguente quadro:
1000 - 60038 - 09-09-2008 - 11-09-2008 - 70
1000 - 60038 - 09-09-2008 - 11-09-2008 - 70
1000 - 60038 - 09-09-2008 - 11-09-2008 - 70
1000 - 60038 - 09-09-2008 - 11-09-2008 - 70
1000 - 60038 - 09-09-2008 - 11-09-2008 - 70
1000 - 60038 - 10-09-2008 - Null - 70
1000 - 60038 - 10-09-2008 - Null - 70
1000 - 60038 - 10-09-2008 - Null - 70
mentre nel caso in cui volessi aggionare la data di partenza a 08-09-2008 vedendo che la prima data di arrivo libera è = 09/09/2008 allora l'update non deve essere eseguita e mi deve generare un messaggio di errore.
Spero di essere stato abbastanza chiaro.
Grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com