2011-01-26 4 views
0

방금 ​​프로젝트에서 SQLite를 사용하기 위해 EGODatabase를 추가했습니다. 테이블 'posts'가있는 샘플 데이터베이스를 만들어 프로젝트에 추가했습니다. 그러나 자신의 예제에서 다음 줄을 실행하면 오류가 발생합니다. 'executeQuery'함수에 인수가 너무 많습니다.고유 한 예제 코드 사용시 EGODatabase 오류!

EGODatabaseResult* result = [database executeQuery:@"SELECT * FROM `posts` WHERE `post_user_id` = ?", [NSNumber numberWithInt:10]]; 

여기에 뭔가가 빠졌습니까?

+0

오타 수정 – NSExplorer

답변

1

나는 EGODatabase 모르지만, 나는 추측을해야한다면 나는 EgoDatabase.h에서

EGODatabaseResult* result = [database executeQuery:[NSString stringWithFormat:@"SELECT * FROM `posts` WHERE `post_user_id` = %d", 10]]; 

을 시도 할 것 :

// Execute Query 
- (EGODatabaseResult*)executeQueryWithParameters:(NSString*)sql, ... NS_REQUIRES_NIL_TERMINATION; 

- (EGODatabaseResult*)executeQuery:(NSString*)sql; 
- (EGODatabaseResult*)executeQuery:(NSString*)sql parameters:(NSArray*)parameters; 
+0

작동합니다. 감사 !! – NSExplorer

2

두 가지가 내가 잘못을 참조하십시오. 먼저 테이블을 '게시물'이라고하지만 '게시물'을 쿼리하려고합니다. 둘째, 쿼리 문자열이 제대로 형성되지 않습니다. 첫 번째 오류를 수정했다고 가정하면 다음과 같이 사용하십시오.

NSString *queryString = [NSString stringWithFormat:@"SELECT * FROM `post` WHERE `post_user_id` = %d", 10]; 
EGODatabaseResult* result = [database executeQuery:queryString]; 

두 가지 문제를 모두 해결해야합니다.

+0

오타 수정 – NSExplorer