2014-09-15 3 views
0

Tomcat에 업로드 한 파일 경로를 MySQL 데이터베이스에 저장하려고합니다. 파일 경로라는 문자열에 경로를 저장했지만 프로그램을 실행할 때이 오류가 발생합니다.허용되는 경로 문자열을 MySQL에 저장하십시오.

"SQL 구문에 오류가있어서 오른쪽의 MySQL 서버 버전에 해당하는 설명서를 확인하십시오 구문은 근처 사용하는 '닉 \ 바탕 화면 \ \ 사용자 \ bot.png)'라인 1 " 내가 사용하는 코드의 일부에서 :

String fileName = fi.getName(); 
String contentType = fi.getContentType(); 
boolean isInMemory = fi.isInMemory(); 
long sizeInBytes = fi.getSize(); 

// Write the file 
if(fileName.lastIndexOf("\\") >= 0){ 
    file = new File(filePath + 
    fileName.substring(fileName.lastIndexOf("\\"))) ; 
}else{ 
    file = new File(filePath + 
    fileName.substring(fileName.lastIndexOf("\\")+1)) ; 
} 

나는 문제가의 형식과 관련이있다 가정 경로,하지만 난 자바 꽤 새로운, 그래서 정말 도움을 주셔서 감사합니다. 미리 감사드립니다.

+2

코드와 스택 트레이스가 없으면 도움이되지 않습니다. – maress

+0

코드가 조언으로 추가되었습니다 – GreatGatsby

답변

2

두 개의 백 슬래시를 사용하여 슬래시를 이스케이프하거나 전달하거나 더 잘 준비된 명령문을 전달하십시오.

+1

그냥 궁금해서 ... 어떻게 준비된 진술이 도움이됩니까? –

+0

http://dev.mysql.com/doc/refman/5.6/en/sql-syntax-prepared-statements.html을보십시오 –

+0

나는 * prepared statement *가 무엇인지 압니다. 제 질문은 어떻게 이스케이프 된 캐릭터를 다루는 데 도움이 될 수 있었는지였습니다. –

0
path = path.replaceAll((char) 92 + "" + (char) 92, (char) 47 + ""); 
+0

이 경우 코드가 매우 간단하더라도 설명을 추가하여 대답을 강화할 수 있습니다. – Magnilex

관련 문제