奇怪的东西。我正在查询一个小型 SQLite 数据库。我想从中得到随机结果。它工作得很好,但是在大约 10-15 次查询之后,我被困在相同的结果上。我显然一定错过了什么,虽然我不知道是什么。这是一些代码,向您展示了我一遍又一遍地调用的方法:
-(NSString*)setBtnImage:(UIButton*) btn{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"database.sqlite"];
NSString *result;
NSString *resultTemp;
if (sqlite3_open([path UTF8String], &database) == SQLITE_OK){
const char *sql = "SELECT * FROM main ORDER BY RANDOM() LIMIT 1;";
sqlite3_stmt *searchStatement;
if(sqlite3_prepare_v2(database, sql, -1, &searchStatement, NULL) == SQLITE_OK){
while (sqlite3_step(searchStatement) == SQLITE_ROW) {
NSString *mot = [NSString stringWithUTF8String:(char *)sqlite3_column_text(searchStatement, 1)];
NSString *nom_fichier = [NSString stringWithUTF8String:(char *)sqlite3_column_text(searchStatement, 3)];
resultTemp = [mot stringByAppendingString:@" "];
result = [resultTemp stringByAppendingString:nom_fichier];
UIImage *image = [UIImage imageNamed:nom_fichier];
[btn setImage:image forState:UIControlStateNormal];
[btn setTitle:mot forState:UIControlStateNormal];
}
}
sqlite3_finalize(searchStatement);
}
return result;
}
因此,您可以看到我从数据库中获取了一个文件名,以便知道将哪个文件应用于按钮。就是这样。它工作得很好,直到我永远停留在相同的结果上。但是,没有错误消息。
我正在使用 Xcode 4.6
任何帮助表示赞赏。
谢谢各位。