_J_ (Normal User)
Newbie
Messaggi: 14
Iscritto: 24/06/2007
|
Ciao a tutti.
Sono nuovo di qui e vorrei sottoporvi un problema.
Uso un gridview per mostrare un comune estero ( reperito da una 'tabella_comuni_est') e il relativo stato a cui appartiene (reperito da una 'tabella_stati_est'), ma la query la scrivo solo per la tabella dei comuni visto che poi il gridview si dovrebbe aggiornare di conseguenza...
La query di update è questa:
UPDATE tabella_comuni_est
SET
nome_comune_est = @nome_comune_est,
cap_comune_est=@cap_comune_est, cod_stato_est_appartenenza=@cod_stato_est_appartenenza
WHERE
cod_comune_est=@original_cod_comune_est //chiave primaria,non settata come identity
and
nome_comune_est = @original_nome_comune_est
and
cap_comune_est = @original_cap_comune_est
and
cod_stato_est_appartenenza = @original_cod_stato_est_appartenenza
Se lascio la WHERE ottengo che non mi modifica il campo su cui lavoro, se elimino la WHERE tutto ciò che ottengo è una duplicazione del record che modifico in tutto il gridview, eccetto la chiave primaria che non è modificabile e che quindi rimane univoca per tutti i record (che ricordo sono tutti uguali)...
come posso fare per risolvere questo problema?
Grazie in anticipo a chi mi risponderà.
_J_
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Non si può usare DataGridView.UpdateCellValue(column,row)?
|
|
_J_ (Normal User)
Newbie
Messaggi: 14
Iscritto: 24/06/2007
|
ciao!
non conosco questo metodo... non è che ti riferisci ad asp.net 1.1?
Io uso il 2.0 e il c#, scusami se non l'ho specificato, me ne sono dimenticato!
_J_
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Dato che l'unica cosa che conosco di sql è la query SELECT, ho provato a suggerirti qualcosa che invece conosco meglio. Nel controllo datagridview c'è la procedura UpdateCellValue che aggiorna i valori di una cella. Dato che penso che tu abbia fatto il dinding dei dati su qualcosa, le celle verranno aggiornate in base alle modifiche. Non è forse così?
|
|
_J_ (Normal User)
Newbie
Messaggi: 14
Iscritto: 24/06/2007
|
ciao!
sì, hai ragione che quella funzione aggiorna i dati in tabella, ma quello che volevo dire io è che i comandi che hai detto tu esistono per le windowsforms, mentre io lavoro con webforms..e lì esistono i gridview che prevedono i datasource mediante cui si possono scrivere vere istruzioni sql, dalla select alla update, passando per delete ed insert.
cmq volevo dirti che ho risolto, c'era un errore nei parametri che davo alla query.... cmq ecco la query corretta (potrebbe servire la struttura):
UPDATE tabella_decod_comuni_est
SET nome_comune_est = @nome_comune_est, cap_comune_est=@cap_comune_est, cod_stato_est_appartenenza=@cod_stato_est_appartenenza
WHERE cod_comune_est=@cod_comune_est //chiave primaria
cmq grazie per il tuo interessamento! Sei stato gentilissimo!
_J_
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Devi scusarmi: ormai penso solo in windows forms
|
|
_J_ (Normal User)
Newbie
Messaggi: 14
Iscritto: 24/06/2007
|
ti capisco, e poi lì ci sono più cose....
cmq credo di aver cantato vittoria troppo presto, perchè ho usato la stessa sintassi in un altro caso simile, ma l'effetto è tutto bizzarro!
_J_
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
|
|
_J_ (Normal User)
Newbie
Messaggi: 14
Iscritto: 24/06/2007
|
tutto risolto anche ora! Spero definitivamente stavolta!
cmq x la cronaca controllare la concordanza di nomi tra i parametri nella proprietà datakeynames e tra quelli nella query di update.
Ciao!
_J_
|
|