Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Intercettare errori
sabato 08 ottobre 2005 - 14.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ilpako
Profilo
| Junior Member
184
messaggi | Data Invio:
sab 8 ott 2005 - 14:06
come faccio a gestire gli errori relativi alla compilazione di un form che inserisce o aggiorna dati in un database?Ovvero gli errori che mi restituisce il database durante l'inserimennto dei dati...
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
sab 8 ott 2005 - 17:14
Ci sono diversi eventi che accadono durante gli aggiornamenti.
Si possono gestire tutti o quasi in un blocco di try / catch
Esempio per sql server
La serie di catch va impostata secondo la natura dell'eccezione, come un crivello al contrario che prima filtra le cose più fini e poi lascia "il grosso" all'ultimo livello
Naturalmente l'ultimo livello è intercettare Exception che prende gli errori non intercettati prima.
Catch ex As SqlException
Dim msg As String = ""
Dim k As Integer = 0
For k = 0 To ex.Errors.Count - 1
msg += "Errore: " + ex.Errors(k).Number.ToString + " " + ex.Errors(k).Message + Environment.NewLine
Next
MessageBox.Show(msg, "Errori SQL", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch eConstraint As ConstraintException
MessageBox.Show("Rilevati gli errori: " + Environment.NewLine + eConstraint.Message, "Errore nei dati", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch eConcurrency As DBConcurrencyException
MessageBox.Show("Rilevati gli errori: " + Environment.NewLine + eConcurrency.Message, "Errore di concorrenza", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch eNull As NoNullAllowedException
MessageBox.Show("Rilevati gli errori: " + Environment.NewLine + eNull.Message, "Dati obbligatori mancanti", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch ex As DataException
MessageBox.Show("Errore: " + ex.Message, "Errore nei Dati", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch ex As Exception
MessageBox.Show("Errore: " + ex.Message, "Errore di sistema", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
If cn.State = ConnectionState.Open Then
cn.Close
End If
End Try
ilpako
Profilo
| Junior Member
184
messaggi | Data Invio:
dom 9 ott 2005 - 04:42
in cosa si differenzia il blocco che hai postato nel caso di un db access connessio via oledb?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
dom 9 ott 2005 - 08:15
Fai almeno la fatica di andare nelle classi di oledb e guardare che errori escono.
Evidentemente quelli che appartengono alle gerarchie:
System
System.Data
System.Data.OleDb
Se vai a guardare gli oggetti che usi (Connection, command, adapter) su ciascuno ci sono gli errori
ilpako
Profilo
| Junior Member
184
messaggi | Data Invio:
dom 9 ott 2005 - 12:09
grazie mille sei stato molto esaudiente :)
ilpako
Profilo
| Junior Member
184
messaggi | Data Invio:
dom 9 ott 2005 - 17:37
dimenticavo...la mia è una web application non posso usare messagebox.show...c'è qcs di simile per le pagine aspx?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
dom 9 ott 2005 - 18:07
Evidentemente messagebox.show è lì solo con lo scopo di farti vedere gli errori intercettati.
Il testo del messaggio e l'errore rimangono comunque validi.
ilpako
Profilo
| Junior Member
184
messaggi | Data Invio:
dom 9 ott 2005 - 21:28
non mi hai risposto...esiste un alternativa a messagebox per le pagine aspx?chessò tipo messaggi pop-up o robe del genere?se l'utente connettendosi alla mia webapp commette errori sul db come mando a video i msg di errore?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 10 ott 2005 - 09:24
Hai diversi modi, c'è il ValidationSummary da usare con i Validators oppure per simulare la MessageBox puoi utilizzare il comando javascript alert('') che ti visualizza una message box. Per far sì che appaia dopo un inserimento di dati o dopo un errore, puoi usare Page.RegisterStartupScript per renderizzare lo script nella pagina.
In questo modo se c'è un errore, RegisterStartupScript inserisce il codice javascript con l'alert nella pagina e appena si carica vedrai la message box.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
ilpako
Profilo
| Junior Member
184
messaggi | Data Invio:
lun 10 ott 2005 - 18:01
grande guru e grande cteniza per l'aiuto...grazie
Torna su
Stanze Forum
Elenco Threads
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 !