Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Modifica di un record in una tabella
Forum - C# / VB.NET - Modifica di un record in una tabella

Avatar
1/2copiatore (Normal User)
Rookie


Messaggi: 28
Iscritto: 05/10/2019

Segnala al moderatore
Postato alle 13:13
Lunedì, 14/10/2019
Buongiorno a tutti

eccomi con il secondo problema: non riesco a modificare uno o più campi di record, dopo aver letto in vari siti e seguendo vari esempi senza successo ... eccomi qui!!
Ho creato un form di prova con le sole cose neccessarie, per cui nessun controllo sui dati immessi. Il form contiene semplicemente un datagridview, 3 textbox e 4 button : inserimento nuovo / modifica / eliminazione e salva dati.
Questo è quanto scritto:

Codice sorgente - presumibilmente VB.NET

  1. Public Class FrmProva
  2.  
  3.     Private Sub FrmProva_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.         Me.TbStatiTableAdapter.Fill(Me.DBEuro3DataSet.TbStati)
  5.     End Sub
  6.  
  7.     Private Sub comNuovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comNuovo.Click
  8.         Frm_Operazione = NUOVO
  9.         txtAnno.Text = ""
  10.         txtSigla.Text = ""
  11.         txtStato.Text = ""
  12.         txtStato.Focus()
  13.     End Sub
  14.  
  15.     Private Sub comModifica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comModifica.Click
  16.         Frm_Operazione = MODIFICA
  17.     End Sub
  18.  
  19.     Private Sub comElimina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comElimina.Click
  20.         Frm_Operazione = ELIMINA
  21.     End Sub
  22.  
  23.     Private Sub comSalva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comSalva.Click
  24.         Me.Validate()
  25.         Select Case Frm_Operazione
  26.             Case NUOVO
  27.                 Me.TbStatiTableAdapter.InserimentoDati(txtStato.Text, txtAnno.Text, txtSigla.Text)
  28.             Case MODIFICA
  29.                 Me.TbStatiBindingSource.EndEdit()
  30.                 Me.TableAdapterManager.UpdateAll(Me.DBEuro3DataSet)
  31.             Case ELIMINA
  32.                 Me.TbStatiTableAdapter.CancellaDati(lbl_IDStato.Text)
  33.         End Select
  34.         Me.TbStatiTableAdapter.Fill(DBEuro3DataSet.TbStati)
  35.     End Sub
  36. End Class



L'inserimento e l'eliminazione funziona correttamente, mentre la modifica NO :(
Se tolgo la riga "Me.TableAdapterManager.UpdateAll(Me.DBEuro3DataSet)" nessun errore ma neanche nessuna modifica, mentre se la lascio mi blocca su quella riga dandomi questo errore

FormatException non è stata gestita
  @p5: Pippo- Fornato stringa di input non corretta

Dove sto sbagliando? Come rimediare ?

PM Quote
Avatar
1/2copiatore (Normal User)
Rookie


Messaggi: 28
Iscritto: 05/10/2019

Segnala al moderatore
Postato alle 7:36
Mercoledì, 16/10/2019
dopo altri siti visitati, trovo un'esempio che si comporta in modo diverso dal mio post precedente :-|

Codice sorgente - presumibilmente VB.NET

  1. Dim Conferma as Boolean
  2.  
  3.  Private Sub GridMouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
  4.      Handles TbStatiDataGridView.MouseDoubleClick
  5.         Dim RispostaFunction As Boolean
  6.         RispostaFunction = frmEditCreate(Me.TbStatiBindingSource, Me.DBEuro3DataSet.TbStati)
  7.         If RispostaFunction Then
  8.             'se è confermato
  9.             Me.TbStatiBindingSource.EndEdit()
  10.             Me.Validate()
  11.         End If
  12.     End Sub



l'esempio era un po' diverso da questo riportato, io l'ho adattato: inserendo anche 2 button(1 per annullare e 1 per conferma dei dati), inoltre la procedura 'frmEditCreate' da SUB l'ho cambiata in 'FUNCTION' per testare i 2 button, quindi se salvare o annullare la modifica(tale parte ho tralasciato di postarla)
Ora fin qui nulla di particolare ma quello che voglio far notare il diverso comportamento dei 2 metodi usati:
la riga 9 di questo esempio è la stessa della riga 29 del post precedente sono le stesse
il DGV in questo caso viene modificato e nell'altro NO !!!!

Il salvataggio nel DataBase è ancora un problema !

Ultima modifica effettuata da 1/2copiatore il 16/10/2019 alle 8:00
PM Quote
Avatar
1/2copiatore (Normal User)
Rookie


Messaggi: 28
Iscritto: 05/10/2019

Segnala al moderatore
Postato alle 10:40
Mercoledì, 16/10/2019
rieccomi per la terza volta

RISOLTO  :asd:

Ho eliminato la tabella e l'ho riscritta togliendo nel campo 'Stato' e 'Sigla' l'unicità impostata precedentemente, ora mi resta effettuare  il controllo sui due dati.

Comunque se qualcuno mi può spiegare come avrei dovuto procedere ne sarei grato

PM Quote