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

    Inserire una stringa in SQL che contiene degli apici

    Sarà una domanda banale, però ho bisogno di aiuto per questo problemino: ho del codice che si interfaccia con un database Access, nel quale inserisco il testo di una news che recupero da una casella di testo.
    Il problema è che il testo della news contiene degli apici (ad esempio, la frase "l'introduzione di questo prodotto", che ha l'apostrofo) e SQL li interpreta come chiusura del campo all'interno della sequenza:

    Sequenza corretta
    codice:
    INSERT INTO NEWS VALUES('titolo','testo')
    Sequenza che da problemi
    codice:
    INSERT INTO NEWS VALUES('titolo','L'introduzione di questo prodotto')
    Sapete darmi un consiglio? Grazie!
    Matteo "QMatteo" Pagani

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Devi mettere
    INSERT INTO NEWS VALUES('titolo','L''introduzione di questo prodotto')

    Usa il replace per costruire le stringe sql sostituendo a apice ( ' ) due volte apice ( '' ) in questo modo
    stringaper sql=replace(stringaconapice, "'","''")

    Dove quella serie di apici sono composte, la prima da virgolette ("), apice ('), virgolette (")
    e la seconda da virgolette ("), 2 apici ('') e virgolette (")

    Spero di essere stato chiaro. Purtroppo visivamente apici e virgolette si somigliano

  3. #3
    Grazie mille, era proprio quello che cercavo!
    Matteo "QMatteo" Pagani

  4. #4
    bisognerebbe imparare a usare i parametri invece di appiccicare i valori da inserire nel db nella stringa sql. Sono facili da usare, rendono piu' sicura l'esecuzione, risolvono definitivamente i vari problemi di formattazione (quelli che hai con gli apici li avrai con i decimali con le date ecc ecc).
    es.
    codice:
    INSERT INTO NEWS VALUES(?,?)
    tuocommand.parameters.add("?", oledbtype.varchar).value = tuotitolo
    tuocommand.parameters.add("?", oledbtype.varchar).value = tuadescrizione
    Saluti a tutti
    Riccardo

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.