Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - problemi con Update
Forum - C# / VB.NET - problemi con Update

Avatar
_J_ (Normal User)
Newbie


Messaggi: 14
Iscritto: 24/06/2007

Segnala al moderatore
Postato alle 9:53
Domenica, 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_

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:02
Domenica, 24/06/2007
Non si può usare DataGridView.UpdateCellValue(column,row)?

PM Quote
Avatar
_J_ (Normal User)
Newbie


Messaggi: 14
Iscritto: 24/06/2007

Segnala al moderatore
Postato alle 17:25
Domenica, 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!
:asd:

_J_

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:20
Domenica, 24/06/2007
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ì?

PM Quote
Avatar
_J_ (Normal User)
Newbie


Messaggi: 14
Iscritto: 24/06/2007

Segnala al moderatore
Postato alle 9:54
Lunedì, 25/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_

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:39
Lunedì, 25/06/2007
Devi scusarmi: ormai penso solo in windows forms :rotfl:

PM Quote
Avatar
_J_ (Normal User)
Newbie


Messaggi: 14
Iscritto: 24/06/2007

Segnala al moderatore
Postato alle 11:21
Lunedì, 25/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_:d

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:36
Martedì, 26/06/2007
Testo quotato

Postato originariamente da _J_:
Vi ricordate il mio ultimo messaggio in cui dicevo di aver risolto con le update? ecco, con un'altro gridview se uso tale sintassi non mi funziona, anzi mi cancella il record relativo!
Incredibile!!!
Guardando il database mi sono accorta che mi setta a null il campo che fà da foreign key!
La situazione ora è questa:
uso un gridview in cui visualizzo la condizione anagrafica e lo stato i residenza correlato.
La tabella è 'tabella_decod_condizione' che presenta i campi:
cod_condizione (chiave primaria non identity)
nome_condizione
cod_residenza_correlata (chiave esterna verso 'tabella_decod_residenza')

La sintassi che uso per la update è:

UPDATE tabella_decod_condizione
SET nome_condizione=@nome_condizione, cod_residenza_correlata=@cod_residenza_correlata
WHERE cod_condizione=@cod_condizione;

proprio come nel post precedente....che è successo????


_J_:d:d:d


PM Quote
Avatar
_J_ (Normal User)
Newbie


Messaggi: 14
Iscritto: 24/06/2007

Segnala al moderatore
Postato alle 10:52
Martedì, 26/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_

PM Quote