Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Problemi SqlDataAdapter
lunedì 27 febbraio 2012 - 16.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ReRosso
Profilo
| Junior Member
67
messaggi | Data Invio:
lun 27 feb 2012 - 16:44
Ciao ragazzi,
Sto studianto i DataAdapter...(con non molto successo!!!!), valutando la caratteristica di aggiornare più record al termine delle operazioni eseguite su un datatable.
Questo è il codice incriminato:
--------------------
//aggiornamento di tutte le righe del datatable con nuovi valori
foreach (DataGridViewRow dr in dgv.Rows)
{
int drow = dr.Index;
dt.Rows[drow][1] = t1.Text.ToUpper();
dt.Rows[drow][2] = t2.Text.ToUpper();
dt.Rows[drow][3] = t3.Text.ToUpper();
}
//definizione del DataAdapter
SqlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
cn.ConnectionString = "Data Source=vs2010\\SQL2008;Initial Catalog=ado_net;Persist Security Info=True;User ID=ado;Password=ado";
cmd.Connection = cn;
cmd.CommandText = "modifica";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", (int)dgv.Rows[dgv.CurrentRow.Index].Cells["id"].Value);
cmd.Parameters.AddWithValue("@item1", t1.Text.ToUpper());
cmd.Parameters.AddWithValue("@item2", t2.Text.ToUpper());
cmd.Parameters.AddWithValue("@item3", t3.Text.ToUpper());
ad.UpdateCommand = cmd;
//invio delle modifiche al DB (viene aggiornato soltanto il primo record!!!!)
ad.Update(dt);
-----------------------
IL RISULTATO DI QUESTO CODICE E' CHE L'AGGIORNAMENTO DEL DATATABLE AVVIENE PERFETTAMENTE, MA NEL DB VIENE REGISTRATA SOLO LA MODIFICA SUL PRIMO RECORD!!!!
GRAZIE IN ANTICIPO
TOPOAMORE
Profilo
| Expert
695
messaggi | Data Invio:
lun 27 feb 2012 - 19:10
Ciao,
sono 3 righe diverse con diversi ID
Il che significa che devi sparare 3 volte la stored con i diversi parametri.
Nel tuo caso la variabile drow viene ciclata tre volte portatndo al suo interno solo il valore della terza riga e dopo di che passi la stored aggiornando solo quella
facci sapere
ciaooo
__.__.__.__.__.__
http://salvatorecervone.wordpress.com
ASP 2.0 - VB 2008
ReRosso
Profilo
| Junior Member
67
messaggi | Data Invio:
mar 28 feb 2012 - 00:34
Grazie mille....risolto!!!
Volevo precisare a memoria futura che oltre all'errore logico del triplo aggiornamento, esisteva anche un problema legato ai mapping dei parametri, è infatti necessario nella dichiarazione di questi specificare oltre al nome e tipo anche lunghezza e colonna associata.
Saluti
TOPOAMORE
Profilo
| Expert
695
messaggi | Data Invio:
mar 28 feb 2012 - 07:20
Questo neanche l'ho visto....
Avvistato il primo errore mi sono fermato li :D
Ciaoooo
__.__.__.__.__.__
http://salvatorecervone.wordpress.com
ASP 2.0 - VB 2008
Torna su
Stanze Forum
Elenco Threads
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 !