C# - Errore UPDATE

martedì 31 agosto 2010 - 15.31
Tag Elenco Tags  C#  |  .NET 3.5  |  Windows 7  |  Visual Studio 2008  |  Access (.mdb)  |  Office 2007  |  Internet explorer 8.0  |  Firefox  |  Javascript  |  VBScript  |  CSS 2.1  |  CSS 3.0  |  HTML 4.01  |  XHTML 1.0  |  XHTML 1.1  |  XHTML 2.0  |  Crystal Reports 2008

DomA Profilo | Expert

Ciaoa tutti,
Ho un problema, che dovrebbe essere una sciocchezza, ma che non riesco proprio a risolvere (da 3 giorni).
Si tratta di una semplice modifica di dati su db Access 2007.
>> Errore: Nessun valore specificato per alcuni parametri necessari.
Vi posto il codice così com'è:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Aiuto.
E' un'operazione che ho fatto almeno 100 volte.
Perchè qui non va?
Grazie in anticipo.

Domenico

AntCiar Profilo | Expert

Ciao.

Dovresti postare il valore effettivo della stringa SQL (stringa completa dei valori passati perchè l'errore sicuramente è nei valori)
Cristian Barca

DomA Profilo | Expert

Ciao Cristian,
la querystring è questa:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

se invece ti riferisci ai valori della form ho provato a compilarli tutti con "aaa"
Ma niente da fare.
Help Me.
Domenico

AntCiar Profilo | Expert

Ciao.

La stringa è corretta. Se come dici tu per tutti i parametri hai passato 'aaa' e non funziona, la cosa è strana.
Access usa delle parole chiave che nelle query occorre scriverle tra []. una di quelle che ha me ha fatto Impazzire era "Note".
Questa non c'è nella tua stringa. Prova a racchiudere tra [] i nomi dei campi.

Cristian Barca

DomA Profilo | Expert

Ciao Cristian,
ho messo i nomi dei campi tra [] ma niente.

>> Se come dici tu per tutti i parametri hai passato 'aaa' e non funziona, la cosa è strana.

Sono tre giorni che controllo i nomi dei campi e la sintassi ma non riesco a venirne fuori.
Grazie comunque per il tempo che mi stai dedicando.
Domenico

AntCiar Profilo | Expert

Allora non resta che controllare una ultima cosa:

valorizza tutti i campi sulla form, poi controlla effettivamente se prima di fare l'update, nella stringa siano presenti tutti i valori inseriti in form.
Sicuramente qualcuno non viene passato e quindi la stringa rimane appesa (es. .... citta = , .....)
Cristian Barca

DomA Profilo | Expert

>> poi controlla effettivamente se prima di fare l'update, nella stringa siano presenti tutti i valori inseriti in form.
>>Come faccio a visualizzare il risultato della querystring?
Perdonami l'ignoranza.
Domenico

AntCiar Profilo | Expert

Allora dovrebbe essere così:

metti un try Catch sull'istruzione 'command.ExecuteNonQuery();' in modo da catturarne l'errore.

Dopo che esce dal catch prova a vedere se command.CommandText contiene la stringa completa dei valori
Cristian Barca

DomA Profilo | Expert

Ciao Cristian,
per trovare l'errore mi è bastato cambiare la clausola WHERE da
WHERE ID = @ID" ;
a
WHERE ID = " + 1;
Così mi ha dato un errore più specifico che mi ha consentito di rilevare l'incongruenza di un nome campo della tabella e quello della querystring.
Grazie comunque,

Domenico

DomA Profilo | Expert

Ciao,

>> Access usa delle parole chiave che nelle query occorre scriverle tra []. una di quelle che ha me ha fatto Impazzire era "Note".

Non lo sapevo.
Grazie.
Domenico
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5