2017-10-02 3 views
0

"내 차는 어디 있습니까?"라는 단어가 포함 된 질문 문자열 변수가 있습니다.구두점 사용시 sqlite3_fts5 오류

내가 선택하려고하면 충돌이 발생합니다.

String sql = "Select * from tblHALv2001 WHERE tblHALv2001 MATCH '" + question + "'"; 

fts5 : 구문 오류 근처 "?"

질문 변수에서 물음표를 제거하면 작동합니다. 하지만 어떻게하면 진술을 수정할 수있어 충돌을 일으키지 않을까요?

+0

어떤 언어를 사용하고 있습니까? –

+0

나는 C 샤프 – maximdj

+0

을 사용하고 있는데 이것이 나를 미치게 만든다. 내가 생각할 수있는 모든 조합을 시도했지만, 상관없이, 내가 사용한다면? 쿼리 텍스트에서 넘어집니다. – maximdj

답변

0

임의의 임의의 문자열을 FTS와 함께 사용할 수 없습니다. MATCH는 오른쪽 피연산자로 FTS query을 예상합니다.

큰 따옴표를 사용하여 물음표를 이스케이프 처리 할 수 ​​있지만 토큰 화가는 무시합니다.

+0

나에게 큰 따옴표의 예를 줄 수 있습니까? – maximdj

+0

이것은 가상 테이블을 작성한 방법입니다. – maximdj

+0

sql = "가상 테이블 tblvHAL2001 사용 fts5 (질문, 답변, 작업, keywordPriority, 키워드, 키워드 2, 첨부, 토큰 화 = 포터)"; – maximdj