53 messaggi dal 04 maggio 2005
Ciao ragazzi,
ho un errore nella visualizzazione di alcuni campi in un semplice database access. L'errore riportato è questo:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID ='.


Il codice è questo:

<%
ID = request.querystring("ID")
Set objCon = Server.CreateObject ("ADODB.Connection")
Set objRec = Server.CreateObject ("ADODB.Recordset")
objCon.Open Dbcon
SQL = "SELECT * FROM gallery WHERE ID =" & ID
objRec.Open SQL, objCon
Response.write "<td valign=top height=67 width=""100%"">"

If Request.querystring("res")="" Then
Response.write "<p align=Center><img src="& ObjRec("imglarge") &" border=0 ></a> " &_
"<p align=center><a href=javascript:history.back(1)>Torna indietro</a>"
End if


If Request.querystring("res")="800600" Then
Response.write "<p align=Center><img src="& ObjRec("imglarge") &" border=0 width=800 height=600></a>" &_
"<p align=center><a href=javascript:history.back(1)>Back</a>"
End if %>

Sapete darmi una mano?

Grazie in anticipo
Che valore hai in querystring per "ID"? E' presente? E' un numero?

Matteo Casati
GURU4.net
6 messaggi dal 11 ottobre 2005
Ti da errore perke' devi mettere gli apici al valore del campo del db.
prova cosi':
SQL = "SELECT * FROM gallery WHERE ID ='" &ID& "'

Quinto
53 messaggi dal 04 maggio 2005
Mettendo gli apici mi dà quest'altro errore:

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/script/visualizza.asp, line 25

SQL = "SELECT * FROM gallery WHERE ID ='" &ID& "'
-------------------------------------------------^
Infatti la stringa non è chiusa, correggi così:

SQL = "SELECT * FROM gallery WHERE ID ='" & ID & "'"


Ad ogni modo gli apici non vanno messi a caso o a tentativi: sei sicuro che il campo ID sia, nel database, un campo di testo? Non è per caso un contatore (di solito è così...)?

Matteo Casati
GURU4.net
Un'ultima cosa: io (e qualunque persona dotata di buon senso o di un minimo di esperienza) non accoderei mai ad una query sql un parametro che mi proviene dalla querystring... Immagina una chiamata passando questi parametri:

tua_pagina.asp?ID=1;drop%20table%20gallery


Con la più banale delle sql injection ti cancellano la tabella...

Matteo Casati
GURU4.net
53 messaggi dal 04 maggio 2005
Si è un contatore, è sbagliato?
Non sono pratico di asp, sono alle prime armi!
Lo devo modificare? Grazie mille per il tuo aiuto
53 messaggi dal 04 maggio 2005
Come dovrei modificare?

Ho modificato la stringa SQL ed ora l'errore è

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.