Domanda

Devo aggiornare i miei dati esistenti nel database mysql.

Scrivo come questo codice;

        String _id = lbID.Text;
        dsrm_usersTableAdapters.rm_usersTableAdapter _t = new dsrm_usersTableAdapters.rm_usersTableAdapter();
        dsrm_users _mds = new dsrm_users();
        _mds.EnforceConstraints = false;

        dsrm_users.rm_usersDataTable _m = _mds.rm_users;

        _t.FillBy4(_m, _id);
        if(_m.Rows.Count >0 )
        {

            DataRow _row = _m.Rows[0];

             _row.BeginEdit();

            _row["username"] = txtUserName.Text;

            _row.EndEdit();

            _row.AcceptChanges();

            _t.Update(_m);

        }

Ma nulla cambia i miei dati esistenti. Qual è il problema?

È stato utile?

Soluzione 2

L'aggiornamento richiede un UpdateCommand valido quando viene passata la raccolta DataRow con righe modificate

Sì, sposto AccesptChange () dopo l'aggiornamento ma ora viene visualizzato questo errore

L'aggiornamento richiede un UpdateCommand valido quando viene passata la raccolta DataRow con righe modificate

Ma ora il problema è che utilizzo MySQL e non riesco a Wrie UpdateCommand, VS2008 non accetta il comando SQL. Elimina automaticamente tutti i comandi SQL. Non capisco il problema. Quindi ora fai un altro modo senza usare il comando SQL (UpdateCommand)?

Altri suggerimenti

Penso che il problema sia che si chiama DataRow.AcceptChanges () prima di chiamare DbDataAdapter.Update (). AcceptChanges imposterà lo stato del datarow su " orignal " (o " non modificato " - non mi ricordo ora). Prova a spostare la chiamata su AcceptChanges dopo l'aggiornamento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top