PDA

View Full Version : [SQL] errore introvabile


ECS-software
10-12-2007, 21:16
Ciao a tutti,
ho un problema con una query di aggiornamento, la classica "update", che non riesco a trovare.

questa č la query:

StringaSQL = "UPDATE amministrazione SET " & _
"usermail = '" & email & "', " & _
"nome = '" & nome & "', " & _
"cognome = '" & cognome & "', " & _
"password = '" & password & "', " & _
"grado = '" & livello & "'" & _
" WHERE idregistrati = " & idregistrati & ";"
Conn.Execute (StringaSQL)

nel database (un Access), tutti i campi, tranne il campo ID che č ovviamente un contatore, sono testo con la proprietā "consenti lunghezza 0" impostata a true.
facendola eseguire mi dāō questo errore:

# Tipo di errore:
Microsoft JET Database Engine (0x80040E14)
Errore di sintassi nell'istruzione UPDATE.
/progetti/engim nichelino/sito completo/modulo_sysadmin/Gestionesysadmin.asp, line 68

non riesco a trovare l'errore...potete aiutarmi?

grazie a tutti
Emanuele

isAlreadyInUse
11-12-2007, 08:18
Non č che in nome o cognome hai una string con un apice o tipo "D'a". Prova a stamparti a video la query dopo avertela costruita e poi te la esegui in access

ECS-software
11-12-2007, 10:20
potrebbe essere, ma a questo ho giā ovviato, utilizzando una funzione (testata e provata moltissime volte quindi funzionante) che sostituisce gli apici singoli raddoppiandoli, in modo che non creino problemi con la sintassi SQL.
Sinceramente non riesco a capire, dato che l'update fatto con SQL, utilizzando VB, funziona perfettamente , mentre usandolo sotto ASP non riesce.

RaouL_BennetH
11-12-2007, 10:48
a 'orecchio' credo che manchino i singoli apici qui:


" WHERE idregistrati = " & idregistrati & ";"

//non dovrebbe essere:

"WHERE idreistrati = ' " & idregistrati & "' ; "

?!?

ECS-software
11-12-2007, 11:00
Ma scusa, in SQL, non sono solo i campi testo ad avere bisogno di essere racchiusi fra apici? i numeri non sono esenti?
il campo contatore č un numero e quindi non ne dovrebbe aver bisogno?

Ho fatto una prova e l'errore rimane: quindi non crdo sia quello

Grazie comunque

isAlreadyInUse
11-12-2007, 11:19
Quel punto e virgola finale non mi convince.

RaouL_BennetH
11-12-2007, 11:31
Quel punto e virgola finale non mi convince.

probabilmente hai ragione tu. In effetti quando si richiama una sql da un programma, in teoria lo aggiunge automaticamente il punto e virgola finale.