在 iPhone SQLite 中存储数据时出现问题求助!

发布于 2024-11-08 16:43:00 字数 258 浏览 0 评论 0原文

我刚刚开始研究适用于 iPhone SDK 的 SQLite。我一直在查看本教程,我想知道如何找到 ID 并存储ID 的该字段中的信息? (每次我按“保存”时,教程都会增加一个 ID)。

另外,我如何循环遍历整个数据库,例如,将所有 id 号相加?有命令吗?

I just started looking into SQLite for the iPhone SDK. I have been looking at this tutorial and I am wondering how can I find an ID and store the information in that field of the ID? (the tutorial increments an ID every time I press save).

Also, how can I loop though the whole database e.g., add all the id numbers up? Is there a command?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹤仙姿 2024-11-15 16:43:00

数据库访问方法没有太大变化。仅 SQLite 查询发生变化。应该是这样的。

- (NSInteger) sumOfIds
{
    const char    *dbpath = [databasePath UTF8String];
    sqlite3_stmt  *statement;
    NSString      *result;

    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
    {
        NSString *querySQL = @"SELECT sum(id) FROM contacts";
        const char *query_stmt = [querySQL UTF8String];

        if (sqlite3_prepare_v2(contactDB, query_stmt, -1, &statement, NULL) == SQLITE_OK)
        {
            if (sqlite3_step(statement) == SQLITE_ROW)
            {
                NSString *result = [[NSString alloc] initWithUTF8String:(const char *)sqlite3_column_text(statement, 0)];
            }
            sqlite3_finalize(statement);
        }
        sqlite3_close(contactDB);
    }

    return [result floatValue];
}

Not much changes in the database access in the methods. Only the SQLite query changes. It should be something on these lines.

- (NSInteger) sumOfIds
{
    const char    *dbpath = [databasePath UTF8String];
    sqlite3_stmt  *statement;
    NSString      *result;

    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
    {
        NSString *querySQL = @"SELECT sum(id) FROM contacts";
        const char *query_stmt = [querySQL UTF8String];

        if (sqlite3_prepare_v2(contactDB, query_stmt, -1, &statement, NULL) == SQLITE_OK)
        {
            if (sqlite3_step(statement) == SQLITE_ROW)
            {
                NSString *result = [[NSString alloc] initWithUTF8String:(const char *)sqlite3_column_text(statement, 0)];
            }
            sqlite3_finalize(statement);
        }
        sqlite3_close(contactDB);
    }

    return [result floatValue];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文