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

    modificare un record access esistente

    Salve a tutti, per modificare un record di un db access che uso per le news del sito (luke news è lo script) eseguo da una pagina che recupera i dati questo comando:

    <%
    cod=request.querystring("cod")
    titolo=Request.Form("titolo")
    descrizione=Request.Form("descrizione")
    SQL="UPDATE news set titolo='"&titolo&"' ,descrizione='"&descrizione&"' WHERE id="&cod
    Conn.Execute(SQL)
    Response.Redirect "/page.asp"
    %>
    ma se nel form c'è del codice html tipo
    <div id="1">bla bla bla bla[img]1.jpg[/img]</div>
    lo script va in errore
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''<p class="MsoNormal">Nell'ambito della XXXI Edizione dell&rsquo'.

    page.asp, line 7
    Sapete indicarmi una possibile soluzione?
    Premetto che nn ho una buona conoscenza di asp e programmazione in generale....
    grazie!!!

  2. #2
    Puoi postare l'html del form?

  3. #3
    Eccolo qui!!

    <%
    Dim cod
    cod=Request.Querystring("cod")
    Dim SQL,Rec
    SQL="SELECT * FROM news WHERE id="&cod
    Set rec = Server.CreateObject("ADODB.Recordset")
    Set Rec=Conn.Execute(SQL)
    %>
    codice della pagina ed ecco il form
    <form method="post" action="edit-process.asp?cod=<%=cod%>">
    titolo <input name="titolo" maxlength="250" size="99" value="<%=rec("titolo")%>">
    descrizione <textarea name="descrizione" cols="65" rows="20"><%=rec("descrizione")%></textarea>
    <input type="submit" name="Submit" value="Salva">
    </form>
    Grazie!!

  4. #4
    ok...

    Devi semplicemente utilizzare una replace quando componi la stringa sql, raddoppiando gli apici singoli e i doppi :

    descrizione=replace(descrizione,"'","''")
    descrizione=replace(descrizione,""","""")

    e poi darla in pasto alla stringa SQL...

  5. #5
    Scusami, ma ti chiedo di farmi un esempio pratico, non conosco la sintassi corretta da utilizzare!!
    Da quanto ho capito, devo inserire nel file che processa il form la funzione replace.
    Quindi da così
    <%
    cod=request.querystring("cod")
    titolo=Request.Form("titolo")
    descrizione=Request.Form("descrizione")
    SQL="UPDATE news set titolo='"&titolo&"' ,descrizione='"&descrizione&"' WHERE id="&cod
    Conn.Execute(SQL)
    Response.Redirect "/page.asp"
    %>
    a così
    <%
    cod=request.querystring("cod")
    titolo=Request.Form("titolo")
    descrizione=Request.Form("descrizione")
    titolo=replace(titolo,"'","''")
    descrizione=replace(descrizione,""","""")
    SQL="UPDATE news set titolo='"&titolo&"' ,descrizione='"&descrizione&"' WHERE id="&cod
    Conn.Execute(SQL)
    Response.Redirect "/page.asp"
    %>
    o qualcosa di simile.... giusto? - Grazie -

  6. #6
    yes
    Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
    [Bertolt Brecht]

  7. #7
    Ok, funziona alla grande :quote:
    grazie jump!!!!

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.