Newsgroup: it.comp.www.asp
Titolo: [HELP] problemi di sintassi sulla query di aggiornamento

Ho provato ogni apice, doppio apice, carattere di spaziatura: la query
di aggiornamento continua ad avere un errore di sintassi che non riesco
ad individuare
Grazie in anticipo a chiunque mi possa dare un suggerimento
allego il codice del mio aggiorna.asp
'dopo l'assegnazione
app = Request.form("app")
licenza = Request.form("licenza")
sigla = Request.form("sigla")
denominazione = Request.form("denominazione")
indirizzo = Request.form("indirizzo")
cap = Request.form("cap")
localita = Request.form("localita")
provincia=request.form("provincia")
PartitaIva=request.form("PartitaIva")
Riferimento=request.form("riferimento")
Email=request.form("Email")
Categoria=request.form("Categoria")
Posti=request.form("Posti")
sistemaoperativo=request.form("sistemaoperativo")
dataREG=request.form("dataREG")
dataMOD=request.form("dataMOD")
'e il settaggio della connessione
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSN=enduser"
'passo la query di AGGIORNAMENTO CHE NON FUNZIONA !!! sigh sigh :-(
SQL = "UPDATE Installazioni SET Denominazione='" & denominazione & "',"
SQL = SQL & "Indirizzo='" & indirizzo & "',"
SQL = SQL & "cap='" & int(cap) & "',"
SQL = SQL & "Localita='" & localita & "',"
SQL = SQL & "Provincia='" & provincia & "',"
SQL = SQL & "Partita_iva='" & int(PartitaIva) & "',"
SQL = SQL & "PersonaRiferimento='" & Riferimento & "',"
SQL = SQL & "Email='" & Email & "',"
SQL = SQL & "CodCategoria='" & Categoria & "',"
SQL = SQL & "PostiDiLavoro='" & int(Posti) & "',"
SQL = SQL & "CodSisOp='" & sistemaoperativo & "',"
SQL = SQL & "dataREG='" & (dataREG) & "',"
SQL = SQL & "dataMOD='" & (dataMOD) & "',"
SQL = SQL & " WHERE PASSWORD='" & licenza"';"
Set RS = Conn.Execute(SQLStmt)
' e mi ritorna
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE
statement.
/registrazione/aggiorna.asp, line 91
GRAZIE
Raul Piccoli

SQL = SQL & " WHERE PASSWORD='" & licenza"';"
Attenzione perche' soltanto i campi stringa vogliono gli apici, i campi
interi non vogliono niente mentre per le date o usi le # o usi sistemi tipo
istruzioni cdate che pero' dipendono dal db che usi.
Comunque il sistema piu' semplice per verificare una sql e' quella di
stamparla nella pagina asp (usando <%=SQL%> e disabilitando momentaneamente
la sua esecuzioni.
Poi copi l'istruzione sql che viene scritta sul web e la provi direttamente
sul tuo database: ti segni le modifiche necessarie per farla funzionare
correttamente e le riporti sulla pagina web.
Giorgio Leonardi

Condivido quello che ha detto giorgio in piu' ho gia' visto un errore:
quando  scrivi
sql=sql & "cap='" & int(cap) & ....
non puoi concatenare una stringa ad un intero
devi usare
sql=sql & "cap='" & cstr(cap) & ....
e poi non mi sembra ci vadano gli apici se stai usando un campo numerico sul
db
--
**************************
Stefano Giovinetti
Team di sviluppo BNS

SQL = SQL & " WHERE PASSWORD='" & licenza"';"
Tutto quello che hanno detto nelle altre risposte e' corretto, ma l'errore
segnalato e' dovuto a quella virgola di troppo che hai inserito tra l'ultimo
assegnamento e la parola WHERE, cioe' alla fine della prima riga che ho
trascritto.
Ciao
Stefano

>
FACILE : l'ultima riga prima del Where TOGLI il ";"
--
**********************************
******GL Back on the Web*****
**********************************