Eliminazione record

giovedì 09 giugno 2011 - 10.34

gianni01 Profilo | Newbie

Salve a tutti, ho realizzato queste poche righe di codice per cancellare i record, non dovrebbe essere una cosa complicata, dal codice che allego potete vedere che come riferimento prende la textbox del NomeCognome, il problema è che mi dice sempre che il record non esiste, nel bandingsource e regolarmente collegata al db e i nomi che appaiono li pesca dalla tabella correttamente.
Mi date qualche suggerimento?
Grazie.

Private Sub btnElimina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnElimina.Click

EliminaRecord()

End Sub



Private Sub EliminaRecord()

Dim Message As String = "Sei sicuro di voler eliminare il record?"
Dim Caption As String = "Attenzione!"
Dim Buttons As MessageBoxButtons = MessageBoxButtons.YesNo
Dim Icona As MessageBoxIcon = MessageBoxIcon.Question
Dim Result As DialogResult

Result = MessageBox.Show(Message, Caption, Buttons, Icona)

If Result = DialogResult.Yes Then

Try
Dim controllo = Easy_SaleContext.tbContatti.Single(Function(cust) cust.NomeCognome = txtNomeCognome.Text)

Try

Easy_SaleContext.tbContatti.DeleteOnSubmit(controllo)
Easy_SaleContext.SubmitChanges()
TbContattiBindingSource.DataSource = Easy_SaleContext.tbContatti

Catch ex As Exception

MessageBox.Show(ex.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

Catch ex As Exception

MessageBox.Show("Il record non esiste", "", MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

End If

End Sub

Gho5t Profilo | Junior Member

potresti scrivere l'eccezione che viene sollevata quando va in errore il primo blocco try?
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui

gianni01 Profilo | Newbie

Ciao Gho5t, grazie per l'interessamento, sinceramente mi sembrava di averlo già scritto cosa succede, comunque ogni volta che clicco sul tasto elimina mi appare semplicemente una finestrella con il messaggio " Il record non esiste" e praticamente non succede nulla o quanto meno non mi cancella nulla.
Aspetto una prezziosa risposta, grazie

Gho5t Profilo | Junior Member

Forse non mi sono spiegato bene, la finestra che dice " Il record non esiste" ti viene fuori per via del primo blocco Try Catch che hai inserito nel programma:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Quindi a rigor di logica, l'errore sta in questa riga:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
e quando va in errore questa riga, esegue la funzione che mostra la finestra con scritto: "Il record non esiste"

Però così non si riesce a capire l'errore vero e proprio, quindi o vai in debug manualmente sul Catch ex as Exception oppure stampi l'errore (ex.messagge) a video per capire l'errore che viene generato.
Altrimenti con un semplice "Il record non esiste" non si riesce a capire qual'è l'errore.
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5