Ошибка EGODatabase при использовании собственного примера кода! - PullRequest
0 голосов
/ 26 января 2011

Я только что добавил базу данных EGOD для использования SQLite в моем проекте.Я создал образец базы данных с таблицей 'posts' и добавил ее в проект.Однако при выполнении следующей строки из их собственного примера я получаю ошибку: слишком много аргументов для функции executeQuery.

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

Я что-то здесь упускаю?

Ответы [ 2 ]

2 голосов
/ 26 января 2011

Две вещи я вижу неправильно.Во-первых, вы говорите, что ваша таблица называется «пост», но вы пытаетесь запросить «посты».Во-вторых, ваша строка запроса формируется неправильно.Если вы исправите первую ошибку, попробуйте использовать что-то вроде этого:

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

Это должно решить обе проблемы.

1 голос
/ 26 января 2011

Я не знаю EGODatabase, но если бы мне пришлось делать предположения, я бы попробовал

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

из EgoDatabase.h:

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

- (EGODatabaseResult*)executeQuery:(NSString*)sql;
- (EGODatabaseResult*)executeQuery:(NSString*)sql parameters:(NSArray*)parameters;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...