如何将文件路径保存到sql数据库

时间:2013-02-08 08:24:22

标签: java mysql netbeans

我正在开发一个应用程序,我必须从应用程序中打开文档。我必须将文件的路径保存到sql数据库。插入文件路径的sql中的列的类型为VARCHAR(255)。

如果文件的路径是C:\Users\UPS21120\Downloads\doc1.pdf,它将作为C:UsersUPS21120Downloadsdoc1.pdf保存在数据库中(保存路径中的反斜杠在哪里?)。

当我检索此路径以打开文件doc1.pdf时, 我收到一个异常,说明doc1不存在 。以下是代码I用来保存路径。请帮忙。

      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

      }

3 个答案:

答案 0 :(得分:1)

在将数据插入数据库之前,必须先转义要插入的值。或者您可以使用准备好的语句为您做到这一点。

另请参阅:Java - escape string to prevent SQL injection

答案 1 :(得分:1)

转义java中的字符串

http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/StringEscapeUtils.html

  

使用Java String规则转义String中的字符。 ...正确处理引号和控制字符(制表符,反斜杠,cr,ff等)

答案 2 :(得分:0)

最简单的解决方案是在路径中使用/而不是\。然后,您可以轻松地将路径字符串插入数据库。没有错误。此外,java可以使用/

的路径