9 messaggi dal 05 agosto 2009
Ciao ragazzi, ho un problema con il salvataggio dei dati sul database.

elimino un record dalla mia gridView, e mentre il programmino è in esecuzione funziona, una volta chiuso, lo compilo di nuovo e scopro che a livello di database non è successo nulla. Qualucno sa dirmi come si fa a confermare l'operazione????

grazie


private void bElimina_Click(object sender, EventArgs e)
{
//elimina la riga selezinato nella gridVIEW
this.gridView1.DeleteSelectedRows();
this.archivio83DataSet.Tb_Ana_Age.AcceptChanges();
Giovane wrote:

elimino un record dalla mia gridView, e mentre il programmino è in esecuzione funziona, una volta chiuso, lo compilo di nuovo e scopro che a livello di database non è successo nulla. Qualucno sa dirmi come si fa a confermare l'operazione????

beh, quello che fai tu è semplicemente eliminare la riga dalla griglia:
this.archivio83DataSet.Tb_Ana_Age.AcceptChanges();

bisogna vedere quali tipo di controllo utilizzi, perchè va recuperato il dato e poi eliminato dal tuo DataSet. ad ogni modo, se usi ASP.NET 3.5 e non vuoi "sbattimenti", molto meglio optare per un controllo DataSource, che incorpora questo tipo di logica direttamente.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
9 messaggi dal 05 agosto 2009
ok ma a livello di prestazione di database, quale mi conviene?il modo che faccio io oppure con il dataSource, perchè ho letto che, il datasource è un po una menata, non è buono soprattutto per le applicazioni web quando ci sono molti utenti collegati, perchè l'utente rimane connesso tutto il tempo.

Mi sbaglio?

Cmq sono riuscito a risolvere il problema, da un po di tempo, riesco a fare l'insert il delete, e l'update. Ho solo dei problemini quando confermo con i bottoni annulla e OK, perchè non fanno quello che vorrei esattamente io, però ci arriverò
Giovane wrote:

ok ma a livello di prestazione di database, quale mi conviene?il modo che faccio io oppure con il dataSource, perchè ho letto che, il datasource è un po una menata, non è buono soprattutto per le applicazioni web quando ci sono molti utenti collegati, perchè l'utente rimane connesso tutto il tempo.

se parliamo di SqlDataSource, sotto usa un DataReader o un DataSet (che è quello di default), quindi fa esattamente quello che tu fai a mano. in più è DataSet ad essere4 sconsigliabile come soluzione, perchè carica tutto in memoria, non SqlDataSource o i DataSource in sè.

Mi sbaglio?



Cmq sono riuscito a risolvere il problema, da un po di tempo, riesco a fare l'insert il delete, e l'update. Ho solo dei problemini quando confermo con i bottoni annulla e OK, perchè non fanno quello che vorrei esattamente io, però ci arriverò

non saprei come aiutarti, dato che sei rimasto molto sul vago.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
9 messaggi dal 05 agosto 2009
Sto sviluppando una finestra windows form, con il tool visual studio 2008 in c#,
ho una grid view che fa una select e visualizza tutti i campi della mia tabella.
Ogni volta che navigo sui record di questa grid, mi carica sempre sulla stessa pagina i dati in delle textbox le quali vengo utilizzate per modificare i record.



NOME COGNOME DATA DI NASCITA NOME XX
xx XX XX COGNOME xx
DATA DI NASCITA XX

(NUOVO, MODIFICA, ELIMINA
CONFERMA, ANNULLA) BOTTONI

Quando premo elimina e poi conferma funziona tutto correttamente, mentre quando premo elimina, e poi ANNULLA, non mi ricarica il campo eliminato.

ad esempio ho 7 record ne elimino una

premendo elimina e poi annulla la situazione è la seguente:

tbAnaAgeBindingSource = sono 6 record
this.archivio83DataSet = sono 7 record

Penso che la soluzione dovrebbe essere quella diriuscire a sincronizzare il BindingSource con il dataSet. Però le ho provate tutte ma non ci sono riuscito, tu hai qualche idea da darmi.

Grazie
Giovane wrote:
Sto sviluppando una finestra windows form, con il tool visual studio 2008 in c#,

però hai postato nel forum dedicato ad ASP.NET 3.5. questo causa confusione, perchè io ti ho risposto dando per scontato che tu stessi utilizzando ASP.NET e non WinForms. la prossima volta presta maggior attenzione.

Penso che la soluzione dovrebbe essere quella diriuscire a sincronizzare il BindingSource con il dataSet. Però le ho provate tutte ma non ci sono riuscito, tu hai qualche idea da darmi.

devi usare un CommandBuilder. qui trovi un esempio:
http://msdn.microsoft.com/en-us/library/fbk67b6z.aspx

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.