[英]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.