Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49

    problema apici nella modifica database attraverso JTextArea

    Ciao a tutti!
    Ho un problema!
    Nella mia applicazione permetto all'utente la modifica del database attraverso delle JTextField o JTextArea. Solo che ho notato che se l'utente inserisce un apice ed effettua la modifica del database logicamente viene generata un' eccezione.

    Come posso risolvere questo problema??

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problema apici nella modifica database attraverso JTextArea

    Originariamente inviato da nala84
    Nella mia applicazione permetto all'utente la modifica del database attraverso delle JTextField o JTextArea. Solo che ho notato che se l'utente inserisce un apice ed effettua la modifica del database logicamente viene generata un' eccezione.
    Se la stringa della query la componi tu, o fai tu l'escape dei caratteri speciale (es. con una operazione di replace) oppure utilizzi un PreparedStatement.

    Se l'escape lo fai tu, ovviamente devi conoscere le regole del DBMS riguardo l'escape. Generalmente un " nella stringa va messo come \". Ma a quel punto anche un \ nella stringa deve diventare \\.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49
    le cose che mi hai detto le conosco!!!
    Ma io dovrei fare qualche controllo per evitare che l'utente inserisca l'apice!! o comunque farglielo inserire in qualche modo!

    la query che faccio sul db al click del pulsante "salva" è questa:

    public void salvaProgrammaDidattico(ActionEvent e)throws SQLException, ClassNotFoundException{

    SQLManager sqlm = new SQLManager("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/schedule","root","root");
    String query = "insert into Programma_didattico(ID_utente, Nominativo, Nome_Corso, Programma_Didattico) values ('"+ ID.getText()+"', '"+Nominativo.getText()+"','"+Nome_Corso.getText() +"','"+txt.getText()+"')" ;

    sqlm.esegui(query);
    sqlm.close();

    }

  4. #4
    Devi eseguire il replace del carattere apice sulla stringa che contiene il testo da inserire nel DB. Nella stringa della query devi mettere:

    Codice PHP:
    tuaStringa.replaceAll("'","''"); 
    Al mio segnale... scatenate l'inferno!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    49
    Grazie R@ve!!
    Risolto!!


  6. #6

    Stesso problema stesso codice ma nada

    FACCIO REPLACE IN UN FILE DOVE RISOLVO UNA SERIE DI PROBLEMI DI PAROLE CONTENENTI GLI ACCENTI.

    Fino al cod4 tutto ok tutto funziona.

    cod=Request.Querystring("cod")
    cod1= Replace(cod,"à","a'")
    cod2= Replace(cod1,"è","e'")
    cod3= Replace(cod2,"ì","i'")
    cod4= Replace(cod3,"ù","u'")
    cod5= Replace(cod,"'","''")

    Al cod5 l'apice mi funziona solo se inserisco una frase con doppio apice faccio un'esempio:

    esempio= L'' Ultimo E MI RIPORTA NEL DATA-BASE O PAGINA.ASP ( L' ultimo ) in maniera corretta.

    Se invece inserisco la frase come deve essere scritta con un'apice solo mi va in pagina non disponibile, cioè in errore, perchè santa Maria immacolata aiutaci tu.

    Ragazzi una mano pèer favore, ho fatto una serie di tentativi ma non risolvo nulla, a dire il vero mi fa incavolare la cosa e lasciato perdere in quanto mi senbra corretto il codice o no?
    :quote: :master:

  7. #7

    Re: Stesso problema stesso codice ma nada

    Ma parli di ASP?
    Al mio segnale... scatenate l'inferno!

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    perchè santa Maria immacolata aiutaci tu.
    Ma santa Maria immacolata, che c'entra adesso ASP con Java?
    Posta nella sezione ASP...


    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.