Oppure

Loading
14/10/19 11:13
1/2copiatore
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:

Public Class FrmProva

    Private Sub FrmProva_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.TbStatiTableAdapter.Fill(Me.DBEuro3DataSet.TbStati)
    End Sub

    Private Sub comNuovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comNuovo.Click
        Frm_Operazione = NUOVO
        txtAnno.Text = ""
        txtSigla.Text = ""
        txtStato.Text = ""
        txtStato.Focus()
    End Sub

    Private Sub comModifica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comModifica.Click
        Frm_Operazione = MODIFICA
    End Sub

    Private Sub comElimina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comElimina.Click
        Frm_Operazione = ELIMINA
    End Sub

    Private Sub comSalva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comSalva.Click
        Me.Validate()
        Select Case Frm_Operazione
            Case NUOVO
                Me.TbStatiTableAdapter.InserimentoDati(txtStato.Text, txtAnno.Text, txtSigla.Text)
            Case MODIFICA
                Me.TbStatiBindingSource.EndEdit()
                Me.TableAdapterManager.UpdateAll(Me.DBEuro3DataSet)
            Case ELIMINA
                Me.TbStatiTableAdapter.CancellaDati(lbl_IDStato.Text)
        End Select
        Me.TbStatiTableAdapter.Fill(DBEuro3DataSet.TbStati)
    End Sub
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 ?
aaa
16/10/19 5:36
1/2copiatore
dopo altri siti visitati, trovo un'esempio che si comporta in modo diverso dal mio post precedente :-|

   
 Dim Conferma as Boolean

 Private Sub GridMouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
     Handles TbStatiDataGridView.MouseDoubleClick
        Dim RispostaFunction As Boolean
        RispostaFunction = frmEditCreate(Me.TbStatiBindingSource, Me.DBEuro3DataSet.TbStati)
        If RispostaFunction Then
            'se è confermato
            Me.TbStatiBindingSource.EndEdit()
            Me.Validate()
        End If
    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 16/10/19 6:00
aaa
16/10/19 8:40
1/2copiatore
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
aaa