ios - 从sqlite随机获取数据而不重复

标签 ios iphone sqlite

我正在使用 sqlite 数据库,一切进展顺利。我在表中添加了 4 个条目,然后在我的 xib 文件中添加了 textview。现在我希望我的 textview 应该随机地向我显示这些条目而不重复。我的意思是,每当我运行我的应用程序时,我的 textview 应该从之前未显示的不同行中获取数据。 请帮我解决我的问题。

~~~~~~~~~~~~~~~~~~~~~~~~~ 从动机想法表中获取数据~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~

    if(sqlite3_open([databasePath UTF8String], &contactDB) == SQLITE_OK) {

        const char* sql = "Select * FROM THOUGHTS";

        sqlite3_stmt *compiledStatement;

    if (sqlite3_prepare_v2(contactDB, sql, -1, &compiledStatement, nil)==SQLITE_OK) {

         NSLog(@"Ready to enter while loop");

        while(sqlite3_step(compiledStatement) == SQLITE_ROW) {

            NSString *aid = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
            textView.text = aid;
        }
    }

    sqlite3_finalize(compiledStatement);

}
sqlite3_close(contactDB);
    }

在textView.text中,我只获取第一行数据,但我希望textview应该来自该列的任何行的图片数据。

最佳答案

将名为 alreadyFetched 的列添加到您的表中,然后在从表中随机提取一行后,将此行的 alreadyFetched 设置为 true。再次获取行时,仅选择具有 alreadyFetched = false

的行

要获得随机行,请使用我刚才描述的查询选择所有行,然后使用 arc4random%[rowcount] 选择接收到的行之一。

关于ios - 从sqlite随机获取数据而不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210465/

相关文章:

php - 如何让原型(prototype)单元拉取 SQLite 行,并用作 MYSQL 凭据?

android - SQLite TEXT 比较不适用于附加的数据库

iphone - iPhone 是否支持传入彩信中的 SMIL?

sql - 如何在 SQLite 的 varchar 列中选择带有\u0000(空字符)的行?

ios - 单元测试(猕猴桃): Property is always nil in test after loadView and viewDidLoad are called

ios - 如何使用 Autolayout 在不同设备上保持 UIView 比率?

ios - Nsmutablearray 在访问时损坏

iphone - iPhone 中的 JSON 响应第二次为空

ios - 单例潜在泄漏?

ios - 为 UITableView 滑动操作设置自定义字体 (UIContextualAction)