Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Aggiornare record

  1. #1

    Aggiornare record nel db

    Vorrei fare l'aggiornamento record di "stato" e "nota", dati che sono contenuti nell tabella tabstati, come si procede?
    Io da come si capisce...ho creato una pagina con un form dove l'utente modifica "stato" e "nota" dove poi l'action li porta a modificadatistato.asp, in quest'ultima pagina ho scritto questo codice per aggiornare, ma non funziona:


    codice:
    <%
    stato=request.form("stato")
    nota=request.form("nota")
    id = request.queryString("id")
     Set conn2 = Server.CreateObject("ADODB.Connection")
      conn2.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("\mdb-database\dbstati.mdb")
      sSql2 = "UPDATE tabstati SET stato=" & stato & ", nota=" & nota & " WHERE id =" & idutente & ";"
      conn2.execute(sSql2) <--------------
      conn2.Close 
      Set conn2 = Nothing
    %>
    errore (dove c'è la freccia):

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id ='.

    GRAZIE

  2. #2
    Il parametro ID:

    codice:
    id = request.queryString("id")
    è vuoto!

    Per conferma, prova a fare:

    codice:
    sSql2 = "UPDATE tabstati SET stato=" & stato & ", nota=" & nota & " WHERE id =" & idutente & ";"
    response.write(sSql2)
    response.end 
    conn2.execute(sSql2)
    e posta qua la query che ti viene stampata a video.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    mi stampa questo a video :
    UPDATE tabstati SET stato=eeeeeeeeeeeeee3, nota=eeeeeeeeeee3 WHERE id =;

    vuol dire che non c'è niente in id? VVoVe:
    come me lo prendo?

  4. #4
    Nella form lo metti in un campo di tipo hidden.

  5. #5
    ho creato il campo ma non funziona lo stesso...volevo dire che per eliminare ho usato questo codice :

    <%
    id = request.queryString("id")

    if isNumeric(id) then

    Set conn2 = Server.CreateObject("ADODB.Connection")
    conn2.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("\mdb-database\dbstati.mdb")
    sSql2 = "DELETE * FROM tabstati WHERE [id] = " & id
    conn2.execute(sSql2)
    conn2.Close
    Set conn2 = Nothing

    end if
    %>
    <% ID = session("idutente") %>
    <% Response.Redirect("primapagina2.asp?ID="&ID&"") %>

    Ora come posso creare quella di modifica..ovviamente passando prima per la pagina del form?

  6. #6
    Mostraci come costruisci la form, ovvero, come metti i dati nella form prendendoli dal db per poi poterli modificare e inviare le modifiche alla pagina asp che aggiorna il db.

  7. #7
    Questa è la pagina modificastato.asp (dove c'è il form) :

    <%
    Dim conn2
    Dim rs2
    Dim sSql2

    'Imposto la connessione
    Set conn2 = Server.CreateObject("ADODB.Connection")
    conn2.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/dbstati.mdb")

    'Imposto la stringa SQL di selezione dati
    ID = cInt(request("ID"))

    sSql2 = "SELECT id, idutente, stato, nota FROM tabstati where ID = "&ID&""

    'Creo e apro il Set di Record
    Set rs2 = Server.CreateObject("ADODB.Recordset")
    rs2.Open sSql2, conn2, 3, 3
    %>

    <td><form method="POST" action="aggiornadatistato.asp">
    <p align="center">[b]*Nome Stato
    <input name="stato" type="text" id="stato" value="<%=rs2.Fields("stato").Value%>" size="30">



    Annotazioni sullo Stato (opzionale)

    <textarea name="nota" cols="40" rows="3" id="textarea"><%=rs2.Fields("nota").Value%></textarea>


    <input type="submit" value="Modifica stato" name="B1">
    </p>
    </form></td>
    <%
    rs2.Close
    Set rs2 = Nothing
    'Chiudo la connessione al database e libero la memoria
    conn2.Close
    Set conn2 = Nothing
    %>


    Poi la pagina che modifica i dati (aggiornadatistato.asp) l'ho scritta nei mesg precedenti!

    GRAZIE PER LA MANO

  8. #8
    HO risolto il quesito: visto che i serviva l'id dei record..ho fatto una session (nella pagina del form) che mi prendeva l'id dei dati, e poi l'ho richimata la session nella pagina che mi aggiornava i dati (aggiornadatistato.asp).


    GRAZIE DELLA MANO A TUTTi
    GRANDw FORUM

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.