Originariamente inviata da
Trafiltecno
Ciao, si, lo 01 e relativo al campo Articolo.
Sì, ok, ma questa affermazione non dice nulla: tutto quanto è relativo a qualcos'altro.
Il primo argomento di AddWithValue() è il nome del parametro che hai usato nella query come segnaposto, ovvero il segnaposto che hai inserito e che verrà sostituito dal valore effettivo specificato per il parametro.
Questo significa che se hai questa query
codice:
Dim Query1 As String = "UPDATE Assegnazioni SET Articolo = @01, MeseAttuale = @02, Fornitori01 = @03, Fornitori02 = @04 WHERE ID = @ID"
andrai ad aggiornare tutti i record dove il campo Articolo è uguale al valore che hai indicato nel parametro @01.
Se il segnaposto è @01, perché quando valorizzi il parametro usi @1?
codice:
Comando.Parameters.AddWithValue("@1", Codice)
E' come dire che usi "Carlo" al posto di "Giancarlo".
E' ovvio che quel codice sia errato: tu vai a valorizzare un parametro indicando un nome diverso da quello che hai utilizzato nella query.
Originariamente inviata da
Trafiltecno
Non ci crederai ma ho risolto il problema e funziona tutto. Ora ti posto il codice,
in pratica ho messo come ultimo comando.Parameters.AddWithValue al fondo e ha funzionato.
In realtà, nonostante la tua conferma, io continuo a nutrire dubbi in generale, ma ovviamente non ho la possibilità di vedere la tua macchina per appurarlo, e continuo a percepire "fumosità" nella comprensione del concetto di cui sopra.
Questo considerato anche che, potendo dare un nome arbitrario al parametro (basta che nella query e nella sua valorizzazione si faccia riferimento allo stesso), tu abbia scelto un nome come @01, o @1 che sia, al posto di un più significativo @Articolo, che avrebbe fatto capire esattamente cosa finisce in quel parametro (posto che lo stesso nome "Articolo" è fuorviante, poiché non si capisce cosa si indica dell'articolo... se il codice, il nome, la descrizione o altro).
Originariamente inviata da
Trafiltecno
funziona PERFETTAMENTE, ottengo il risultato voluto.
Anche con la saliva si possono appendere dei quadri: ciò che si sta rimarcando è il fatto che quel codice risulta poco manutenibile e ci sono scelte (nei nomi, nella sequenza delle operazioni e così via) che sono molto discutibili e che richiederebbero un approfondimento ulteriore (da parte tua, s'intende) escludendo l'obiettivo principale del "funziona", che a volte può anche andare bene ma non è detto che sia risolutivo.
Originariamente inviata da
Trafiltecno
Grazie per il supporto, solo mettendoci le mani capisci il perche delle cose, ho eliminato le variabili che non
servivano, i vari For01 02 03 etc..e uso direttamente le variabili modificate sperando di fare la cosa giusta.
Continui ad alternare estrema convinzione e un pizzico di insegnamento di vita ("solo mettendoci le mani capisci..."), che peraltro sono cose abbastanza comprensibili per non dire ovvio, a una dose massiccia di incertezza ("sperando di fare la cosa giusta").
Comunque, sono solo suggerimenti, poi ovviamente da questo punto di vista sei liberissimo (per forza di cose) di gestire tutto come credi sia più opportuno.