簡體   English   中英

如何將文件路徑保存到sql數據庫

[英]How to save file path to sql database

我正在開發一個應用程序,我必須從應用程序中打開文檔。 我必須將文件的路徑保存到sql數據庫。 插入文件路徑的sql中的列的類型為VARCHAR(255)。

如果文件的路徑是C:\\Users\\UPS21120\\Downloads\\doc1.pdf ,它將像C:UsersUPS21120Downloadsdoc1.pdf一樣保存在數據庫中(保存路徑中的反斜杠在哪里?)。

當我檢索此路徑以打開文件doc1.pdf我收到一個異常,說明doc1不存在。以下是我用來保存路徑的代碼。 請幫忙。

      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

      }

在將其插入數據庫之前,必須轉義要插入的值。 或者您可以使用准備好的語句來為您完成。

另請參閱: Java - 用於防止SQL注入的轉義字符串

在java中轉義字符串

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

使用Java String規則轉義String中的字符。 ...正確處理引號和控制字符(制表符,反斜杠,cr,ff等)

最簡單的解決方案是在路徑中使用/而不是\\ 然后,您可以輕松地將路徑字符串插入數據庫。 沒有錯誤。 java也可以使用帶/路徑

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM