Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Istruzione SQL non valida

    Purtroppo devo, ancora una volta, ricorrere alla vostra disponibilità per correggere un errore, probabilmente banale,
    ma, per le mie capacità, "insormontabile".
    Ecco il codice:
    codice:
    <%
    var Cn = new ActiveXObject("ADODB.Connection");
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb"));
    
    var log = Session("login");
    var sql = "SELECT * FROM Anagrafe WHERE email= ' "&(log)&" ' ";
    var Rs = Cn.Execute(sql); 
    if (Rs("livello") < 6)
    	{
    	 Response.Redirect("login.asp")
    	}
    %>
    E, questo, è l'errore:

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Istruzione SQL non valida. Prevista 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' o 'UPDATE'.
    /index.asp, line 15

    In rosso la riga 15

    Grazie a tutti, ciao.

  2. #2
    fatti stampare la query sql così...
    codice:
    var sql = "SELECT * FROM Anagrafe WHERE email= ' "&(log)&" ' ";
    Response.Write(sql);
    Response.End();
    e vedi cosa non quadra!
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  3. #3
    In quel modo ottengo una pagina bianca con la stampa di uno zero (0).
    Che cosa significa?
    Poi ho provato a stampare anche la variabile "log" ed effettivamente visualizzo il valore che devo utilizzare nella query SQL.
    Grazie, ciao.

  4. #4
    Ho risolto, dovevo utilizzare "+" e non "&" nella query SQL (però rimango ancora nell'ignoranza di capire il perchè di tale comportamento del codice - forse è il linguaggio che dichiaro all'inizio del codice <%@LANGUAGE = JScript%>??).
    Ad ogni modo grazie MAX161 (se non avessi stampato a video non avrei capito) e grazie anche a tutti gli altri per la comprensione e la pazienza (che sicuramente dovete avere anche solo per leggere le mie richieste di aiuto).
    Ciao

  5. #5
    in effetti è sfuggito anche a me, per concatenare le stringhe con JScript devi usare il + e non &.
    ciao
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.