Newsgroup: it.comp.lang.delphi
Titolo: dbExpress e messaggi di errore

sto usando dbExpress da poco,
una cosa che ho notato è che la segnalazione di errori è moooolto +
generica rispetto a bde & company.
ad es. se l'utente non completa un campo not null il messaggio è
"Field value required" e basta... almeno i componenti bde mettevano
*quale* campo!
avete soluzioni (oltre che mettere dei controlli personalizzati per
*ogni* campo? )
Grazie,
Alan Solo

 *ogni* campo? )
Personalmente non lascio mai che sia il DB a segnalarmi
se un campo e' richiesto o meno.  Faccio sempre gli
adeguati controlli a run-time.
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

adeguati controlli a run-time.
hai ragione, anche se con dbExpress io uso i client data set e quindi
sono gli oggetti a segnalarmi l'errore... il problema è che faccio
fatica anche io in fase di debug a capire il perchè dell'errore con un
messaggio senza informazioni  neanche sul campo...
e poi che rad è se devo rifarmi tutti i controlli (già definiti del db
e "ereditati" dagli oggetti) a mano... ;)
i controlli ci sono, il "problema" sono i messaggi, tutto lì...
Ciao,
Alan Solo

 e "ereditati" dagli oggetti) a mano... ;)
RAD non vuol dire "faccio io per te".
Se la tua applicazione non e' banale, qualche controllo
sull'input dell'utente, per esempio alla pressione del
tasto "Conferma", dovrai pur farla.


tasto "Conferma", dovrai pur farla.
il mio tasto conferma è il "post" del dataset... ripeto, tutto cio'
viene *già* fatto da delphi, solo che i messaggi forniti all'utente (e
al programmatore) si limitano a dire "Field required"...
con BDE almeno c'e' una cosa del tipo "Field "Pippo" must have a
value" ...
cmq, niente mi faro' i controlli a mano...
Ciao,
Alan Solo

il mio tasto conferma è il "post" del dataset... 
Mah... non mi piace molto.
Io al tasto di conferma associo, generalmente, la funzione
di validazione.  Se i dati sono corretti, allora do' l'ok
(per esempio come risultato modale in una finestra) per
compiere il post (nel form chiamante), altrimenti no.
-- 
The Follet

compiere il post (nel form chiamante), altrimenti no.
anch'io ma non su *tutte*, su quelle piu' importanti e "complicate"
Ciao,
Alan Solo

 perdita di tempo...
Ripeto: a parte il fatto che i controlli messi in piedi
da un DB non sono necessariamente quelli che si desidera,
a mio avviso, compiere dei controlli prima di scrivere e' 
la cosa logicamente corretta da fare.
In un'applicazione, ci potrebbe essere un form che 
richiama un altro form per l'inserimento dei dati 
(che potrebbe essere lo stesso, sia per l'inserimento, 
sia per la visualizzazione, sia per la modifica) e
questo secondo form non si occuperebbe d'altro che 
compiere dei controlli prima di uscire.
Poi, sta al chiamante stabilire se deve o meno eseguire
un post dei dati. Questo meccanismo ti consente di
assumere due percorsi diversi di azione, uno per e
eventuali errori di immissione dei dati ed uno per 
eventuali errori durante la scrittura dei dati, con 
due tipi di gestione diversi.
A me pare piu' pulito ed e' il metodo che uso nelle
mie applicazioni.


Premetto che non conosco dbExpress perchč mi sto solo ora avvicinando a
Delphi, quindi non ti posso essere d'aiuto.
Effettivamente č un po' pochino come messaggio d'errore.
Indipendentemente dalle tecniche adottate nello sviluppo dei programmi, un
messaggio di errore dovrebbe, secondo me, indicare quante piů informazioni
possibile.
Altrimenti a cosa serve?
Indipendentemente dal fatto che l'ambiente di sviluppo sia RAD, SAD o altro.
Beh, lasciamo perdere...
GG
