2013-05-31 6 views
1

안녕하세요. 쉽게 답변 할 수 있습니다. 처리하는 방법을 이해하는 데 어려움이 있습니다.날짜를 기준으로 행을 삭제하십시오.

"CREATE TABLE IF NOT EXISTS PERSONS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, AGE INTEGER, DT DATETIME DEFAULT CURRENT_TIMESTAMP)"; 

및 메신저 같은이 우연히 사람을 삭제하는 것을 방지하기 위해,이 이름, 나이 그리고 등록 된 날짜에 따라 사람을 삭제하려고 :

내가있는 테이블을 생성 이름을 지정하고 다른 사람의 나이는 (따라서 현재 날짜는 구별해야한다)

및 DELETE 문은 다음과 같습니다

[NSString stringWithFormat:@"Delete from persons where name is '%s','%s'",[p.name UTF8String],[p.date UTF8String]]]; 

갖는 문제의 메신저입니다 '% S "해야 없음 그 날짜를 지우지 않는 것이 옳다.

도움 주셔서 감사합니다.

+0

이 질문을 확인하십시오. http://stackoverflow.com/a/7108589/2315974 – danypata

+0

이 질문은 적절한 질문이 아니며 어떻게 닫아야하는지 알 수 없습니다. 음, 어쨌든 - danypata가 자신의 의견에 올린 화제가 당신에게 더 많은 것을 가져다 줄 것입니다. – Till

답변

3

나는 당신이 그 delete 진술로 상당히 벗어나 있다고 생각한다.

[NSString stringWithFormat:@"Delete from PERSONS where NAME = \"%@\" and DT = \"%@\"", p.name, p.date]; 

성격 및 이름은 작성시 정의한 방법과 동일하므로 대문자 여야합니다. p.data는 sqlite가 날짜를 저장하는 방법과 일치해야합니다. danypata's link이 도움이 될 것입니다.

+1

@HalR에게 감사드립니다. 내가 찾고 있던 바로 그거야! –

0

먼저 구문에서 실수가 있는지 알아낼 수있는 SQL 환경에서 쿼리를 시도하는 것이 좋습니다. 나를 위해 % s 대신 % @을 사용해야하는 것처럼 보입니다. % s는 목표에서 -c, % @에서 사용됩니다. -c. 이것을 post에서보십시오.

+0

% s은 (는) 나를 위해 일한 –

관련 문제