Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Errore con " ' "

  1. #1

    Errore con " ' "

    Ciao a tutti,
    Inserendo il testo nel db usando questo script:

    codice:
    <html> 
    <head> 
    <title>inserimento</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <link href="../../../Nuovo%20sito%20Agenzia/css/file.css" rel="stylesheet" type="text/css">
    <link href="style.css" rel="stylesheet" type="text/css">
    <link href="../ilproverbio.css" rel="stylesheet" type="text/css">
    </head> 
    <%
    
      testo = request.Form("testo")
    
    
    
      set conn = Server.CreateObject("ADODB.Connection")
      conn.Open"driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("/mdb-database/ilproverbio.mdb")
    
      qryStr = "INSERT INTO contatti (testo) VALUES ('"&testo&"')"
    
      conn.Execute(qryStr)
    
      msg = "Pagina aggiornata clicca qiu per verificare"
    
      conn.close
    
      set conn=nothing
    
    
    %>
    
    <html>
    <head>
    <title>inserimento</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="../ilproverbio.css" rel="stylesheet" type="text/css">
    </head>
    
    <body background="../jeweled.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <div align="center"><span class="testo"></span> 
      <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td><div align="center"><%=msg%></div></td>
        </tr>
      </table>
      <span class="testo"></span> </div>
    </body>
    </html>
    mi da errore, dicendomi che:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''Testo da inserire con un apostrofo qui' ma mi da errore')'.

    /amministrazione/agg_locale.asp, line 20
    da cosa dipende?

    Grazie a tutti ciao
    La Gratitudine è la prima cosa nella vita...

    Grazie a tutti

  2. #2
    A me access nn mi è mai piaciuto perchè ti da errori assurdi.
    Ma sei sicuro di avere i permessi di scrittura?
    Hai configurato bene il server?
    La sintassi della queru sembra giusta.

  3. #3
    metti una response.write qryStr e una response.end prima della execute, e leggi la query, è probabile che nel testo ci siano delle apici (che vanno raddoppiate)...magari posta quello che scrive

  4. #4
    devi fare il replace prima di inserire i dati:

    codice:
    testo = replace(testo,"'","''")

  5. #5
    per raddoppiare gli apici fatti una funzioncina così
    codice:
    Function RaddoppiaApici(str)
    	if str = "" or isnull(str) then
    		RaddoppiaApici = str
    	else
    		RaddoppiaApici = replace(str,"'","''")
    	end if
    end function
    e chiamala ogni volta che ti serve

    codice:
    qryStr = "INSERT INTO contatti (testo) VALUES ('"&RaddoppiaApici(testo)&"')"

  6. #6
    io non sono molto pratico, ma posso dirvi che i permessi ci sono perche se inserisco un testo senza apici tutto funziona.

    secondo me lu crea errore perchè interpretà gli apici del teto come apici della funzione...
    Ma come si fa ad evitarlo?

    Potresti correggermi l'errore?

    Grazie tante per l'aiuto
    La Gratitudine è la prima cosa nella vita...

    Grazie a tutti

  7. #7
    codice:
    <html> 
    <head> 
    <title>inserimento</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <link href="../../../Nuovo%20sito%20Agenzia/css/file.css" rel="stylesheet" type="text/css">
    <link href="style.css" rel="stylesheet" type="text/css">
    <link href="../ilproverbio.css" rel="stylesheet" type="text/css">
    </head> 
    <%
    
      testo = request.Form("testo")
    
    
    
      set conn = Server.CreateObject("ADODB.Connection")
      conn.Open"driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("/mdb-database/ilproverbio.mdb")
    
      testo = replace(testo,"'","''") 
      qryStr = "INSERT INTO contatti (testo) VALUES ('"&testo&"')"
    
      conn.Execute(qryStr)
    
      msg = "Pagina aggiornata clicca qiu per verificare"
    
      conn.close
    
      set conn=nothing
    
    
    %>
    
    <html>
    <head>
    <title>inserimento</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="../ilproverbio.css" rel="stylesheet" type="text/css">
    </head>
    
    <body background="../jeweled.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <div align="center"><span class="testo"></span> 
      <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td><div align="center"><%=msg%></div></td>
        </tr>
      </table>
      <span class="testo"></span> </div>
    </body>
    </html>

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.