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

    Metodo di sostituzione caratteri speciali

    Salve ragazzi,

    ho un problema, ho inserito nel mio programma una funzione per poter aprire un file formato doc o pdf dando il percorso assoluto del file.

    Il problema, è che devo dare la possibilità di salvare questo percorso nel db (MYSQL).

    Purtroppo come ben sapete il percorso è costituito da C:\nome cartella ....\nome file

    Il fattoè che in mysql non è possbile inserire \ come carattere stringa, se invece metto \\ funziona.

    Il problema è che non riesco ad utilizzare la funzione replaceall("\","\\");

    ho anche provato a fare replaceAll("\\","\\\\");

    ma niente va sempre in errore.

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

    Re: Metodo di sostituzione caratteri speciali

    Originariamente inviato da bircastri
    Il fattoè che in mysql non è possbile inserire \ come carattere stringa, se invece metto \\ funziona.

    Il problema è che non riesco ad utilizzare la funzione replaceall("\","\\");

    ho anche provato a fare replaceAll("\\","\\\\");

    ma niente va sempre in errore.
    Se stai usando direttamente JDBC, usa PreparedStatement.


    P.S. con replaceAll il modo corretto è:
    codice:
    replaceAll("\\\\", "\\\\\\\\")
    E non spaventarti di tutti i backslash, se hai capito la questione del escape nelle espressioni regolari e anche nelle stringhe literal ... diventa chiaro.
    Ma ripeto: se puoi usa PreparedStatement.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    mmm, e come dovrei utilizzare il prepareStatement?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da bircastri
    mmm, e come dovrei utilizzare il prepareStatement?
    Bastava che guardavi il javadoc ... c'è un esempio. Comunque:

    codice:
    PreparedStatement pstmt = conn.prepareStatement("INSERT INTO xyz (c1,c2,......) VALUES (?,?,........)");
    pstmt.setString(1, varStr1);     // per primo ?
    pstmt.setString(2, varStr2);     // per secondo ?
    .....
    pstmt.executeUpdate();
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.