Gestire nelle winapplication gli errori verificatisi durante l'esecuzi...

giovedì 13 marzo 2008 - 15.03

liuc Profilo | Junior Member

Vi illustro prima lo scenario e poi faccio la domanda.



In un database abbiamo due tabelle : Ruoli e Utenti. La logica dell'applicazione dice che per eliminare un ruolo non devono esserci utenti ad esso associati.

Una stored si occupa della cancellazione di un ruolo; riceve in input l'id dell'oggetto da cancellare.
Nella stored vengono fatti una serie di controlli quali :
a) verificare che il dato esista nella tabella e in caso contrario ritornare un codice di errore (10)
b) verificare che non esistano utenti associati al ruolo da cancellare (in caso contrario restituisci un codice di errore 20)
c) se si sono verificati errori durante l'update della tabella ritorna un codice di errore ancora diverso (30).

Tale stored viene eseguita da un webservice.

Qual'è il modo migliore per gestire all'interno dell'applicazione chiamante gli errori (eventuali)rilevati durante l'esecuzione della stored ?

In questo momento i vengono in mente le seguenti soluzioni :

a) aggiungere due parametri di output ad ogni stored nel db che restituiscano rispettivamente il codice e il messaggio dell'errore. Tali valori sarebbero accessibili tramite due appositi parametri (reference) associati al webservice invocato.

b) restituire codice e messaggio con una select da eseguire come ultima istruzione della stored ; in quersto modo però (correggetemi se sbaglio) dovrei fa restituire un dataset da ciscnu metodo (nel webservice) in cui l'ultima tabella dovrebbe contenere le informazioni sull'eventuale errore

Non mi entusiasmano molto (soprattutto la seconda), ma oggi non mi viene di meglio. Voi che suggerite ?
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