0

每个人。我正在尝试使用我的自定义数据库。所以我写了以下。但是如果当我运行它时,我发现它返回 nil。

为什么?

我没有找到这是为什么。

请帮我。

NSString *name ;
NSString * content ;
FMResultSet *rs = [db executeQueryWithFormat:@"SELECT name, content FROM projects WHERE id = %d", projectID];

这里 projectID 是一个给定的参数。我在下一行有一个断点。

//if ([rs next]) {
    name = [rs stringForColumnIndex:0];
    content = [rs stringForColumnIndex:1];
    [rs close];
    return [NSDictionary dictionaryWithObjectsAndKeys:name, @"name", content, @"content", nil];
//}
[rs close];
return nil;

结果,名称和内容为零。发生了什么?

在此之前,数据库已正确打开,我对其进行了更新。我在终端上通过 sqlite3 的日志和命令行看到了这一点。

请帮我!

4

1 回答 1

0

您应该阅读文档。

将参数传递给查询格式的正确方法是:

FMResultSet *rs = [db executeQueryWithFormat:@"SELECT name, content FROM projects WHERE id = (?)", projectID];

于 2012-05-28T09:36:17.417 回答