33 messaggi dal 31 marzo 2004
Salve a tutti,
ho un problema piuttosto complicato, spero che qualcuno mi possa aiutare.
Il nostro sistema è questo: un database SQL Server sul server e dei client con un programma gestionale che interagisce con il database tramite un driver ODBC.
Il problema è che bisogna bloccare la compilazione di una bolla nel caso in cui la quantità in magazzino di alcuni articoli, appartenenti alla categoria promozioni, sia minore o uguale a zero. Tutto questo senza agire direttamente sul programma gestionale. Davanti a me si prospettano due strade: agire su SQL Server e fare in modo che si rifiuti di aggiornare una tabella se il campo 'quantità' è minore o uguale a zero, oppure trovare un programma che lavori in background, che intercetti l'evento in questione e che, se la quantità è diventata negativa, faccia apparire un pop-up al client avvertendolo di non proseguire con la compilezione della bolla.
Sarò molto grato a chi mi risponderà,
Pileggi
150 messaggi dal 24 maggio 2001
Contributi
La prima soluzione è di gran lunga più facile da implementare.
Tieni conto che in genere la parte "attiva" della tua architettura è il client che interroga il server per compiere operazioni.

Fare il contrario vuol dire implementare un servizio che fa da ponte tra la tua applicazione e il database che verifica la validità delle operazioni richieste dal client.

Quindi se hai già un'applicazione server già pronta che fa qualche verifica sui dati inseriti ok, la puoi riutilizzare, altrimenti opterei per la prima opzione.

Oppure potresti caricare lo stato della tabella interessata (quella delle quantità da controllare) sul client solo quando sta per compiere una delle operazioni che la coinvolgono e verificare lato client la possibilità di effettuare l'ordine, notificando l'utente.
In questo modo, se il livello di concorrenza non è elevato, risolvi il problema elegantemente, se però ci sono molti utenti contemporaneamente rischi problemi di concorrenza.

ciao.
..ema

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.