0
데이터를 삽입 할 IPhone 응용 프로그램이 있습니다. 어떤 조건없이 모든 데이터를 가져올 때 잘 작동하면Sql Join은 sqlite 테이블에 새로 삽입 된 행을 표시하지 않습니다.
다음 쿼리와 같은 조건이 주어지면 아무 문제없이 작동합니다. 그러면 아무 것도 표시되지 않습니다. 나는 그것을 추가 모든 레코드를 표시 한 후 select * form ContentMaster
를 사용하는 경우
NSString *select =
[NSString stringWithFormat:
@"SELECT * from ContentMaster As ml
LEFT JOIN ContentTagging As cat
ON cat.ContentID = ml.ContentID
where cat.ContenTagText= \'%@\'" ,appDelegate.tagInput];
const char *sql = [select UTF8String];
그런 다음이를 사용하여 어떤 일을 표시하지 않습니다.
제쳐두고 SQL 문을 작성하는 데'stringWithFormat'을 사용해서는 안됩니다. 'tagInput'에 아포스트로피가 있다면? 코드가 실패합니다. 너해야 해. 항상'? '자리 표시자를 사용하고 텍스트 값을'sqlite3_bind_text'로 묶으십시오. – Rob
'sqlite3_prepare_v2'는'SQLITE_OK'를 리턴 했습니까? 그렇지 않다면,'sqlite3_errmsg'는 무엇을보고 했습니까? 두 테이블에 대해'schema table_info()'뿐만 아니라 더 많은 코드를 공유 할 수 있습니다. 'ContenTagText'는 의심스러워 보입니다. (ContentTagText입니까?)하지만 더 많은 코드와 테이블 스키마에 대한 정보, 테이블에있는 몇 가지 레코드가 없으면 우리를 도와 줄 수 없습니다. – Rob
'tagInput'의 값은 무엇입니까? –