2010-11-30 2 views
10

내 iPhone 응용 프로그램에서. Sqlite 데이터베이스를 사용하고 있습니다. 데이터베이스에 텍스트를 저장해야한다는 요구 사항이 있습니다. 텍스트에 아포스트로피가 포함되어 있습니다.아포스트로피가 포함 된 문을 Sqlite 데이터베이스에 삽입하는 방법

예를 들어

: tbl_insert 값 ('그것은 스티브의 셔츠입니다')에

삽입;

Sqlite 데이터베이스에 이러한 종류의 문장을 저장하는 방법은 무엇입니까?

어떻게해야합니까?

도와주세요.

감사합니다.

+1

합니까 코어 데이터에 '문자를 대체 타협 할 이유가 없다? –

답변

18

이것은 SQL Server와 MySQL에서도 마찬가지입니다. 당신은

http://www.kamath.com/codelibrary/cl003_apostrophe.asp

''와 '문자의 각 인스턴스를 대체하는 함수를 작성할 수 있습니다 당신은 이그나시오 제안대로 매개 변수가있는 SQL 쿼리를 사용해야합니다 중 하나 또는 당신은' '와'각을 대체 할

Insert into tbl_insert values ('It is Steve''s Shirt'); 

그러나 은 업데이트 문에서 리터럴 문자열을 사용하지 않는 것이 좋습니다. 매개 변수화 된 쿼리를 사용하십시오. 매개 변수화 문을 지원하지 보안

+0

도움이되기를 기원합니다. –

+0

@RanhiruCooray도 업데이트에 적용됩니다. 탈출 할 때 업데이트는 두 개의 '' '를 삽입하여 하나를 사용하여 다른 쪽을 탈출합니다. – Smith

+0

예. 작동합니다. 그러나 나는 update 문에서 리터럴 문자열의 사용을 강력히 권장하지 않습니다. 매개 변수화 된 쿼리를 사용하십시오. 보안을 손상시킬 이유가 없습니다. –

3

간단히`:

text = text.replace("'", "`"); 
관련 문제