我刚刚添加了EGODatabase以在我的项目中使用SQLite。我创建了一个带有'posts'表的示例数据库,并将其添加到项目中。但是,在从他们自己的例子执行以下行时,我得到错误:函数'executeQuery'的参数太多。
EGODatabaseResult* result = [database executeQuery:@"SELECT * FROM `posts` WHERE `post_user_id` = ?", [NSNumber numberWithInt:10]];
我在这里错过了什么吗?
答案 0 :(得分:2)
我看错了两件事。首先,您说您的表名为“发布”,但您尝试查询“帖子”。其次,您的查询字符串未正确形成。假设您修复了第一个错误,请尝试使用以下内容:
NSString *queryString = [NSString stringWithFormat:@"SELECT * FROM `post` WHERE `post_user_id` = %d", 10];
EGODatabaseResult* result = [database executeQuery:queryString];
这应解决这两个问题。
答案 1 :(得分:1)
我不知道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;