2010-12-27 4 views
2

SQLite 데이터베이스를 사용하는 iPhone 응용 프로그램에서 작업 중이며 이스케이프 문자를 처리하려고합니다. SELECT 문에서 이스케이프 문자를 처리 할 수있는 LIKE ESCAPE가 있지만 응용 프로그램에서 SELECT, INSERT, UPDATE 동작이 있으며 실제로 이스케이프 문자를 처리하는 방법을 알지 못합니다.sqlite 준비된 문을 사용하여 문자를 이스케이프 처리하는 대신 사용할 수있는 방법

+0

입니까? 응답이있을 경우 회색 체크 표시를 클릭하여 답변을 수락하십시오. –

답변

2

FMDB을 사용하면 그럴 필요가 없습니다. 그것은 built-in parameter binding support이고, 그것은 당신이 당신을 위해 필요한 탈출을 돌볼 것입니다.

+1

특히 FMDB의 매개 변수 바인딩 기능을 사용해야합니다. – makdad

+0

@phooze 예, 그것이 내 뜻입니다. :) –

+0

메신저 sqlcipher soo와 함께 sqlite를 사용하여 FMDB는 제안에 대한 질문에 감사합니다. 다음 번에 앱을 개발할 때 사용합니다. – seelani

0

SQL 문 끝에 이스케이프 문자가 무엇인지 간단하게 알려줘야한다고 생각합니다. 등 내가 사용되는 문자, \는 아무것도 될 수 등 30%, 140%로 값과 일치합니다

SELECT * FROM MyTable WHERE RevenueChange LIKE '%0\%' ESCAPE '\' 

예를 들면 다음과 같습니다.

+0

이것은 INSERT 및 UPDATE 문도 포함합니까? – seelani

+0

예, 모든 곳에서 사용할 수 있습니다. –

3

당신이 올인원 기능) sqlite3_exec를 (사용하는 경우, 당신은 sqlite3_bind * 기능을 사용할 필요가없는 에 .. 은 % q를 함께 sqlite3_mprintf()에 문자열을 전달 토큰

sqlite3_mprintf("%q","it's example"); 

출력 문자열이 답변 중 하나가 당신을 위해 운동나요

it''s example 
관련 문제