Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    42

    funzione replace per apici

    Salve a tutti!

    per costruirmi una stringa di insert sql per un db access esamino i campi testo del mio form e uso la funzione replace per sostituire gli apici in questo modo:
    replace(Request.Form.Item(ix),"'",chr(39))
    il mio problema è che mi ridà l'errore per la funzione:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access 97 Driver] Syntax error (missing operator) in query expression ''all'azienda' ,' ' ,' ' )'.
    So che probabilmente è un problema già affrontato, ma cercando sul forum non ho trovato indicazioni precise per il caso.
    anche perchè dovrei utilizzare un sistema che mi permetta di rileggere i dati dal db al form correttamente.
    ad es. ho provato a sostituire l'apice con 2 apici ma quando ripasso il campo da db a form l'apice letto è uno solo e quindi il problema si ripresenta.

    spero di essere stato abbastanza confuso e ringrazio tutti per l'aiuto!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    152
    replace(Request.Form.Item(ix),"'","''")

    non hai nessun problema di compatibilità ... te ne salva nel DB uno solo che in definitiva è quello che vuoi perchè nel form ne passi effettivamente uno solo!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    42
    cerco di essere + chiaro:
    1) nel campo del form scrivo ad esempio: all'azienda
    2) costruisco il comando sql in una pagina ASP:
    codice:
    sTogliApici=""
    sTogliApici=Request.Form.Item(ix)
    Valori = Valori & "'" & replace(stogliapici,"'",chr(140))& "',"
    3) la pagina restituisce l'errore:
    codice:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
    
    [Microsoft][ODBC Microsoft Access 97 Driver] Syntax error (missing operator) in query expression ''all'azienda' ,' ' ,' ' )'. 
    
    /lavoro/aspdb.asp, line 118
    Il chr(140) corrisponde ad un apice inverso, ma da lo stesso risultato con chr(39) e con il doppio apice perchè quando scrivo la stringa delle values della insert essendo un campo alfanumerico devo mettere gli apici prima e dopo il valore

    grazie a tutti

  4. #4
    rimpiazza un apice con due apici. si fa così. punto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    42

    VVoVe:


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.