2013-02-08 5 views
0

Je développe une application dans laquelle je dois ouvrir des documents à partir de l'application. Je dois enregistrer le chemin du fichier dans la base de données sql. La colonne en SQL à laquelle le chemin de fichier est inséré est de type VARCHAR (255).Comment enregistrer le chemin du fichier dans la base de données SQL

Si le chemin d'un fichier est C:\Users\UPS21120\Downloads\doc1.pdf, il est enregistré dans la base de données sous la forme C:UsersUPS21120Downloadsdoc1.pdf (où se trouvent les barres obliques inverses dans le chemin enregistré?).

Quand je récupère ce chemin pour ouvrir le fichier doc1.pdf, Je reçois une exception qui dit que doc1 n'existe pas .Following est le code que j'utilisé pour enregistrer le chemin. S'il vous plaît aider.

 JFileChooser fc = new JFileChooser(); 
     returnVal = fc.showOpenDialog(view_doc.this); 
     File file1=fc.getSelectedFile(); 

     if (returnVal == JFileChooser.APPROVE_OPTION) { 
     String str = "INSERT INTO document(doc_path) VALUES ('"+file+"')"; 
        // open connection..execute query etc--works fine 

     } 

Répondre

1

Vous devez échapper la valeur que vous souhaitez insérer avant de l'insérer dans la base de données. Ou vous pouvez utiliser des instructions préparées qui le feront pour vous.

Voir aussi: Java - escape string to prevent SQL injection

0

solution la plus simple est d'utiliser / au lieu de \ dans le chemin. Ensuite, vous pouvez insérer une chaîne de chemin facilement dans la base de données. Il n'y aura pas d'erreur. Java peut également utiliser le chemin avec /

Questions connexes