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

    errore in controllo password con db

    Ciao, mi esce il seguente errore:

    Microsoft JET Database Engine error '80040e14'

    Syntax error in FROM clause.

    /guest2/write.asp, line 164

    Il codice è il seguente, in grassetto la linea 164

    codice:
    <%
    Dim sconn, sstrConn, req
    req=Request.Form("Nick")
    sstrConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/pass.mdb") 
    set sConn = Server.CreateObject("ADODB.Connection")
    sConn.Open sStrConn 
    sSQL= "SELECT DISTINCT pass.nome, pass.password from password pass WHERE Nome = req"
    set rs = Server.CreateObject ("ADODB.Recordset")
    Rs.Open sSQL, sConn
    If session("prova")=nome then
    session("prova")=replace(session("prova"), nome, "impostore")
    End If
    If session("prova")=password then
    session("prova")=replace(session("prova"), password, nome)
    End if
    Set rs = sConn.Execute(csql)
    %>
    <%
    sConn.Close
    Set sConn = Nothing
    %>
    Secondo voi da cosa deriva l'errore? Il db è un file mdb che si chiama "pass.mdb", che contiene una sola tabella che si chiama "password" e che contiene 3 campi: "id", "nome" e "password"
    Grazie per l'aiuto! Simona

    www.gimeil.com

  2. #2
    l'errore è 3 righe sotto (sicura di aver contato bene?)
    password è una parola riservata, racchiudila tra parentesi quadre
    xxx

  3. #3
    grazie! Non sapevo che ci fossero parole riservate...poi hai ragione, avevo sbagliato a contare!

    Ora ho corretto codice (e db) eliminando la parola password.
    codice:
    <%
    Dim sconn, sstrConn, req, sSQL
    req=Request.Form("Nick")
    sstrConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/pass.mdb") 
    set sConn = Server.CreateObject("ADODB.Connection")
    sConn.Open sStrConn
    sSQL= "SELECT DISTINCT nome, psd from pas WHERE Nome = req"
    set rs = Server.CreateObject ("ADODB.Recordset")
    Rs.Open sSQL, sConn
    If session("prova")=nome then
    session("prova")=replace(session("prova"), nome, "impostore")
    End If
    If session("prova")=psd then
    session("prova")=replace(session("prova"), psd, nome)
    End if
    Set rs = sConn.Execute(csql)
    %>
    Però ho questo errore nella solita linea: Rs.Open sSQL, sConn per la quale mi dice "No value given for one or more required parameters. "

    Di cosa potrebbe trattarsi?
    Grazie per l'aiuto! Simona

    www.gimeil.com

  4. #4
    le stringhe nelle query devono essere passate tra apici singoli.
    inoltre il tuo req è una variabile, quindi deve essere concatenata alla tua stringa sql:

    codice:
    sSQL= "SELECT DISTINCT nome, psd from pas WHERE Nome = '" & Replace(req, "'", "''") & "'"
    il replace dell'apice singolo inoltre è necessario per evitare che la stringa sql venga interrotta impropriamente

    xxx

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.