【发布时间】:2015-02-08 19:33:20
【问题描述】:
[self openDB];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *set = [defaults stringForKey:@"defaultSet"];
if ([set length] > 0) {
NSString *trySql = [NSString stringWithFormat:@"SELECT setName FROM setData WHERE setName = `%@`", set];
sqlite3_stmt *tryStatement;
if (sqlite3_prepare_v2(db, [trySql UTF8String], -1, &tryStatement, nil)==SQLITE_OK) {
NSLog(@"set here");
} else {
NSAssert(0, @"%s", sqlite3_errmsg(db));
sqlite3_close(db);
}
}
所以我返回reason: 'no such column: set'的错误
现在,这就是我通常的写作方式,除了我会为 .php 使用 PDO:: 技术,但在目标 c 中它有些不同。我不确定我是否正确使用它。
我是否需要某种类型的 bindValue,或者我是否正在尝试查找具有行名和/或..的列名?
【问题讨论】:
-
您的值中的引号类型似乎错误,但确实使用了绑定参数。
-
@Mat 看来更改引号的简单技巧解决了我的问题,然后我可以检查行以确定 nsdefault 是否仍然合适。一个小时头痛的简单解决方法!谢谢,如果您发布答案,我会接受。
-
啊哈,如果@Mat 不想,您也可以发布自己的答案。
标签: objective-c sqlite