Visualizzazione dei risultati da 1 a 7 su 7

Discussione: sintassi UPDATE

  1. #1

    sintassi UPDATE

    Buona Pasqua,
    Ho un problema a modificare una riga di una tabella in un database.

    Sto usando questo metodo:

    strSQL = "UPDATE admin SET username='"&nl&"', password='"&np&"' WHERE username="&vl

    Set rs=Server.CreateObject("ADODB.recordset")
    rs.Open strSQL, objCon
    Response.write "Dati Aggiornati"

    Il server mi dice:

    Microsoft JET Database Engine error '80040e14'

    Syntax error in UPDATE statement.

    /modify.asp, line 30

    io sto usando questa sintassi:

    UPDATE nome_tabella SET nome_colonna='nuovo_valore', nome_colonna='nuovo_valore' WHERE chiave_primaria = valore_variabile

    Grazie per l'aiuto

    Luca Vizzi

  2. #2
    Fatti stampare il contenuto di strSQL prima di passarla all'oggetto recordset.
    codice:
    strSQL = "UPDATE admin SET username='"&nl&"', password='"&np&"' WHERE username="&vl
    response.write strSQL
    response.flush
    Set rs=Server.CreateObject("ADODB.recordset")
    rs.Open strSQL, objCon
    Response.write "Dati Aggiornati"
    Comunque, aggiorni username dove username è anche nella clausola WHERE?
    mmm... me pare strano... e poi username, se è stringa, andrebbe tra apici singoli ovunque.
    codice:
    strSQL = "UPDATE admin SET username='"&nl&"', password='"&np&"' WHERE username='"&vl&'"

  3. #3

    re

    Ho già provato a stampare la stringa strSQL e non ci sono errori di sintassi.
    Potrebbe essere che non si può UPDATEare la chiave primaria?
    Grazie
    Luca Vizzi

  4. #4

    Re: re

    Originariamente inviato da lucavizzi
    Ho già provato a stampare la stringa strSQL e non ci sono errori di sintassi.
    Potrebbe essere che non si può UPDATEare la chiave primaria?
    Grazie
    Luca Vizzi
    Dipende se la chiave primaria è di tipo auto increment e/o se non ammette duplicati...

  5. #5

    codice

    Questo è il codice che sto usando:
    <%
    vl=Request.Form("vl")
    vp=Request.Form("vp")
    nl=Request.Form("nl")
    np=Request.Form("np")
    varid=Request.QueryString("id")
    Dim objCon
    Set objCon=Server.CreateObject("ADODB.connection")
    objCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Inetpub\webs\annettesrlit\mdb-database\administration.mdb;"

    Set rs=Server.CreateObject("ADODB.recordset")
    rs.Open "SELECT * FROM admin", objCon, 0, 1

    WHILE not rs.EOF
    nome=rs("username")
    pwd=rs("password")
    rs.movenext
    WEND
    rs.close
    Set rs=nothing

    strSQL = "UPDATE admin SET username = '"&Request.Form("nl")&"', password = '"&Request.Form("np")&"'"
    Response.Write strSQL
    IF (nome=vl AND pwd=vp) THEN
    Set rs=Server.CreateObject("ADODB.recordset")
    rs.Open strSQL, objCon, 0, 3
    Response.write "Dati Aggiornati"
    Set rs=nothing
    objCon.close
    Set objCon=nothing
    ELSE
    Response.Redirect ("http://www.annettesrl.it/modifica_errore.html")
    Set rs=nothing
    objCon.close
    Set objCon=nothing
    END IF

    %>

    e mi da questo errore:
    UPDATE admin SET username = 'Luca', password = 'nuovapassword'

    Microsoft JET Database Engine error '80040e14'

    Syntax error in UPDATE statement.

    Come puoi vedere la stringa la stampo a video e non mi pare contenga errori di sintassi

    Grazie per l'aiuto
    Luca Vizzi

  6. #6

    Re: sintassi UPDATE

    Originariamente inviato da lucavizzi
    Buona Pasqua,
    ...............
    Microsoft JET Database Engine error '80040e14'

    Syntax error in UPDATE statement.

    /modify.asp, line 30

    io sto usando questa sintassi:

    UPDATE nome_tabella SET nome_colonna='nuovo_valore', nome_colonna='nuovo_valore' WHERE chiave_primaria = valore_variabile

    Grazie per l'aiuto

    Luca Vizzi
    Buona Pasqua anche a te ed a tutto il forum.

    Tornando al problema forse dipende dal fatto che
    password e/o username sono parole riservate;

    prova a racchiuderle tra parentesi quadre:

    UPDATE nome_tabella SET [password]='tuaPwd', [username]='tuoUsername' etc....

  7. #7

    Grazieeeeeeeeeee

    Funziona!
    Sei un asso, buonissima Pasqua

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 © 2026 vBulletin Solutions, Inc. All rights reserved.