Aggiungere record in una datatable

giovedì 06 dicembre 2012 - 14.14
Tag Elenco Tags  C#  |  .NET 1.0  |  .NET 1.1  |  .NET 2.0  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0

gaetanorusso Profilo | Junior Member

Ciao,
vorrei aggiungere piu record all'interno di un datatable, ma ogni volta che clicco su inserisci una riga il sistema mi sovrascrive quella precedente...sto usando un datatable disconesso che salva tutti i dati in memoria e non su un db ...grazie mille per l'aiuto



gaetano russo

alx_81 Profilo | Guru

>Ciao,
Ciao

>vorrei aggiungere piu record all'interno di un datatable, ma
>ogni volta che clicco su inserisci una riga il sistema mi sovrascrive
>quella precedente...sto usando un datatable disconesso che salva
>tutti i dati in memoria e non su un db ...grazie mille per l'aiuto
secondo me stai sovrascrivendo il riferimento alla stessa riga.
Fai un DataTable.NewRow() prima di creare la nuova riga ed appenderla?
Ecco un esempio:
http://msdn.microsoft.com/en-us/library/system.data.datatable.newrow.aspx

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

gaetanorusso Profilo | Junior Member

eseguo il codice come da te descritto ( senza ciclo for) .. ed infatti inserisce la prima riga, ma se provo ad inserire un altro record mi sovrascrive
gaetano russo

alx_81 Profilo | Guru

>eseguo il codice come da te descritto ( senza ciclo for) .. ed
>infatti inserisce la prima riga, ma se provo ad inserire un altro
>record mi sovrascrive
puoi postare il codice per cortesia?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

gaetanorusso Profilo | Junior Member

eccolo...

BLL_PROFESSORI i = new BLL_PROFESSORI();


Professori p = i.InserimentoProf(stipendio, materia, clas, sezione, nome, cognome, eta, dataNascita, sesso, citta);

textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";
textBox7.Text = "";
textBox12.Text = "";
textBox9.Text = "";
textBox10.Text = "";

for (n = 0; n < arrayprof.Length; n++)
{
arrayprof[n] = p;
r["Nome"]= p.prpNome;
r["Cognome"] = p.prpCognome;
r["Età"] = p.prpEta;
r["Città"] = p.prpCitta;
r["Sesso"] = p.prpSesso;
r["Stipendio"] = p.prpStipendio;
r["Materia"] = p.prpMateria.prpNome;
r["Classe"] = p.Classe.Length;
r["Sezione"] = p.Sezione.Length;
r["Data di Nascita"] = p.prpDatanascita;
}
dtable.Rows.Add(r);
mydt.Tables.Add(dtable);
mydt.AcceptChanges();

}
gaetano russo

alx_81 Profilo | Guru

eh no, non è proprio uguale
cambialo così:

> for (n = 0; n < arrayprof.Length; n++)
> {
r = dtable.NewRow();
> arrayprof[n] = p;
> r["Nome"]= p.prpNome;
> r["Cognome"] = p.prpCognome;
> r["Età"] = p.prpEta;
> r["Città"] = p.prpCitta;
> r["Sesso"] = p.prpSesso;
> r["Stipendio"] = p.prpStipendio;
> r["Materia"] = p.prpMateria.prpNome;
> r["Classe"] = p.Classe.Length;
> r["Sezione"] = p.Sezione.Length;
> r["Data di Nascita"] = p.prpDatanascita;
dtable.Rows.Add(r);
> }

> mydt.Tables.Add(dtable);
> mydt.AcceptChanges();


--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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