[SQL] 인서트 문자열은 사용자 생성 된 변수에있을 때 SQL 삽입에 대한 작은 따옴표를 ... 탈출하는 방법
SQL인서트 문자열은 사용자 생성 된 변수에있을 때 SQL 삽입에 대한 작은 따옴표를 ... 탈출하는 방법
나는 JDBC를 사용하여 실행 삽입 명령을 구축하고있다. 그것의 일부는 사용자가이 같은 문자열을 사용 할 때까지이 모든 작동 ... 사용자 생성 된 문자열을 연결하는 것입니다 :
a'bcd
String userString="a'bcd";
String insertTableSQL = "INSERT INTO myTable "
+ "(insertColumn) "
+ "VALUES("
+"'"+userString+"'"
+")";
statement.executeUpdate(insertTableSQL);
해결법
-
==============================
1.당신은 다음 중 하나를 수행 할 수 있습니다 :
당신은 다음 중 하나를 수행 할 수 있습니다 :
-
==============================
2.당신은 아파치 코 몬즈 랭 라이브러리에서 StringEscapeUtils를 사용할 수 있습니다. 이 사용하여 당신은 당신의 목적을위한 방법 escapeXXX에 대한 HTML, XML, SQL 등 봐의 문자를 탈출 할 수 있습니다. 참고 : 언제 HTML 문자열을 탈출해야합니까?
당신은 아파치 코 몬즈 랭 라이브러리에서 StringEscapeUtils를 사용할 수 있습니다. 이 사용하여 당신은 당신의 목적을위한 방법 escapeXXX에 대한 HTML, XML, SQL 등 봐의 문자를 탈출 할 수 있습니다. 참고 : 언제 HTML 문자열을 탈출해야합니까?
참고 : escapeSql가 랭 3 아파치 코 몬즈에서 제거 (commons.lang에서 마이그레이션 StringEscapeUtils.escapeSql를 참조하는 참조 https://commons.apache.org/proper/commons-lang/article3_0.html#StringEscapeUtils.escapeSql)
예 :
String str = FileUtils.readFileToString(new File("input.txt")); String results = StringEscapeUtils.escapeHtml(str); System.out.println(results);
입력:
<sometext> Here is some "Text" that I'd like to be "escaped" for HTML & here is some Swedish: Tack. Vars?god. </sometext>
산출:
<sometext> Here is some "Text" that I'd like to be "escaped" for HTML & here is some Swedish: Tack. Varsågod. </sometext>
-
==============================
3.여기에 또 다른 옵션이다 :
여기에 또 다른 옵션이다 :
바로이 목적을 위해 설계 네이티브 안드로이드 방법을 사용합니다 :
DatabaseUtils.sqlEscapeString(String)
여기에 대한 문서가 온라인 :
이 방법을 사용의 가장 큰 장점은, 내 의견으로는, 때문에 분명 메소드 이름의 자체 문서입니다.
String userString="a'bcd"; String insertTableSQL = "INSERT INTO myTable " + "(insertColumn) " + "VALUES(" +"'"+DatabaseUtils.sqlEscapeString(userString)+"'" +")"; statement.executeUpdate(insertTableSQL);
from https://stackoverflow.com/questions/26331524/how-to-escape-single-quotes-for-sql-insert-when-string-to-insert-is-in-a-user by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 업데이트 트리거 후 SQL 서버 (0) | 2020.07.05 |
---|---|
[SQL] PostgreSQL의 SERIAL 작업 다르게합니까? (0) | 2020.07.05 |
[SQL] C #의 WinForm에서의 app.config를 사용하여 데이터베이스 연결 문자열에 액세스 (0) | 2020.07.05 |
[SQL] 어떻게 DO 블록에서 선택 쿼리를 수행하기 위해? (0) | 2020.07.05 |
[SQL] ISNULL NULL의 대 (0) | 2020.07.05 |