Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47

    inserire una stringa contenente un apostrofo in db mysql

    salve ragazzi sto avendo un piccolo problemino che, come avrete letto dal titolo, consiste nel cercare di salvare tramite query una stringa in un db mysql. l'inserimento(senza apstrofi) funziona bene anche perche mi avvalgo dell'uso delle espressioni regolari, solo che evidentemente c'è qualche problema con mysql e gli apostrofi.sapete aiutarmi? grazie ciao
    Alex

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    prova ad inserire doppio apice

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Gli apici vanno quotati, essendo dei caratteri speciali.
    L'alternativa, più semplice e funzionale, è usare le PreparedStatement: non ti devi preoccupare di quotare o effettuare conversioni a stringa dei dati, in quanto questo viene lasciato al driver (che lo fa, probabilmente, in modo più efficiente).

    Esempio. Supponiamo di avere una tabella composta da tre campi: un intero, una data e una stringa, in quest'ordine. Voglio inserire i seugenti valori nella tabella: il numero 15, la data di oggi, la stringa "L'albero di natale".

    codice:
          // Ottengo la data odierna
          GregorianCalendar gc = new GregorianCalendar();
          java.sql.Date d = new java.sql.Date( gc.getTime() );
    
          // La mia stringa
          String str = "L'albero di natale";
    
          // Creo una PreparedStatement
          PreparedStatement pstmt = con.prepareStatement("INSERT INTO tabella VALUES(?,?,?)");
    
          // Dico che il primo parametro è il valore intero 15
          pstmt.setInt(1, 15);
          
          // Dico che il secondo parametro è la data odierna
          pstmt.setDate(2, d);
    
          // Dico che il terzo parametro è la stringa
          pstmt.setString(3, str);
    
          // Eseguo l'inserimento
          pstmt.executeUpdate();
    Come vedi, non mi sono preoccupato di effettuare il quoting dell'apice durante l'inserimento nella query, né mi sono preoccupato di quale sia il formato di data accettato dal DB. Si arrangia il driver.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.