无法从sqlite表中获取最后插入的数据

Teja Nandamuri

在我的应用程序中,我需要从最后插入表中获取数据。我所做的是这个

 NSString *query  = [NSString stringWithFormat:@"SELECT * FROM PHONEBOOK ORDER BY NAME DESC LIMIT 1;"];

    //  NSLog(@"query : %@",query);

    BOOL recordExist = [self recordExistOrNot:query];

    if (!recordExist) {

        // save data if no record exists
    }




    -(BOOL)recordExistOrNot:(NSString *)query{

BOOL recordExist=NO;

sqlite3_stmt    *statement;
const char *dbpath = [databasePath UTF8String];

if (sqlite3_open(dbpath, &myDatabase) == SQLITE_OK) {




    if (sqlite3_prepare_v2(myDatabase, [query UTF8String], -1, &statement, nil)==SQLITE_OK)
    {
        if (sqlite3_step(statement)==SQLITE_ROW)
        {
            recordExist=YES;

            NSString *Name = [[NSString alloc]
                                 initWithUTF8String:
                                 (const char *) sqlite3_column_text(
                                                                    statement, 0)];
            NSString *PhoneNumber = [[NSString alloc]
                                     initWithUTF8String:
                                     (const char *) sqlite3_column_text(
                                                                        statement, 1)];

            //here i need to get the Name and number from the last inserted data
            NSLog(@"version is %@, type is %@",Name ,PhoneNumber);
        }
        else
        {
            NSLog(@"%s,",sqlite3_errmsg(myDatabase));
        }
        sqlite3_finalize(statement);
        sqlite3_close(myDatabase);
    }

}
return recordExist;

}

问题是我没有得到最后插入的数据。我正在从其他行中获取数据(我不确定是否来自顶部行或其他任何数据)。

你能告诉我我在做什么错了。

提前致谢。

如果在插入行之后立即执行此操作,则可以使用SQLite C函数sqlite3_last_insert_rowid()获取rowid最后插入的行的。您还可以使用last_insert_rowid()SQL函数:

SELECT * FROM PHONEBOOK WHERE ROWID = last_insert_rowid()

请注意,您可能必须保持SQLite数据库处于打开状态才能执行此操作(但是无论如何,您都不应该为每个SQL语句打开和关闭数据库)。

如果稍后要执行此操作(例如,用户终止了该应用程序,明天又返回到该应用程序,并希望查看最后插入的记录),那么您必须依靠自己的数据库模型来处理。例如,我经常在表中创建/修改/删除时间戳记,每次INSERTUPDATE更新时都会进行更新,然后您可以根据这些值进行排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据插入表中以获取SQLite后如何获取最后一行ID

来自分类Dev

从表中获取最后插入的多个ID的数据?

来自分类Dev

如何从数据表中获取最后插入的行

来自分类Dev

从最后插入表中获取ID

来自分类Dev

如何从表中获取最后插入的行?

来自分类Dev

无法在表中插入数据

来自分类Dev

如何从MySQL数据库表中获取最后插入的ID?

来自分类Dev

获取表查询中插入的最后一个数据

来自分类Dev

插入表中的 Python SQLite 数据消失了?

来自分类Dev

查询azure表以获取分区的最后插入数据

来自分类Dev

Amazon Redshift如何获取表插入数据的最后日期

来自分类Dev

查询azure表以获取分区的最后插入数据

来自分类Dev

如何从PhoneGap Android中的SQLite获取最后插入的行ID

来自分类Dev

如何使用C#在SQLite中获取最后插入的ID?

来自分类Dev

如何从PhoneGap Android中的SQLite获取最后插入的行ID

来自分类Dev

sequelize种子无法在SQLite中插入数据

来自分类Dev

无法在 ListView 中插入来自 Sqlite 的数据

来自分类Dev

无法从表中获取数据

来自分类Dev

无法将数据插入到我的第二个表中,sqlite android

来自分类Dev

无法创建数据库表并在iOS sqlite3中插入

来自分类Dev

获取mysql中任何表的最后插入的id

来自分类Dev

从Cassandra获取最后插入的数据

来自分类Dev

无法使用Python在PostgreSQL中获取最后插入的ID

来自分类Dev

无法将 xml 数据插入表中

来自分类Dev

SQLite查询以从多个表中获取数据

来自分类Dev

无法获取插入到我的数据库表中的时间戳记值

来自分类Dev

无法获取插入到我的数据库表中的时间戳记值

来自分类Dev

无法在 SQLite 中向表中插入信息

来自分类Dev

无法在Android SQlite数据库中插入数据

Related 相关文章

  1. 1

    将数据插入表中以获取SQLite后如何获取最后一行ID

  2. 2

    从表中获取最后插入的多个ID的数据?

  3. 3

    如何从数据表中获取最后插入的行

  4. 4

    从最后插入表中获取ID

  5. 5

    如何从表中获取最后插入的行?

  6. 6

    无法在表中插入数据

  7. 7

    如何从MySQL数据库表中获取最后插入的ID?

  8. 8

    获取表查询中插入的最后一个数据

  9. 9

    插入表中的 Python SQLite 数据消失了?

  10. 10

    查询azure表以获取分区的最后插入数据

  11. 11

    Amazon Redshift如何获取表插入数据的最后日期

  12. 12

    查询azure表以获取分区的最后插入数据

  13. 13

    如何从PhoneGap Android中的SQLite获取最后插入的行ID

  14. 14

    如何使用C#在SQLite中获取最后插入的ID?

  15. 15

    如何从PhoneGap Android中的SQLite获取最后插入的行ID

  16. 16

    sequelize种子无法在SQLite中插入数据

  17. 17

    无法在 ListView 中插入来自 Sqlite 的数据

  18. 18

    无法从表中获取数据

  19. 19

    无法将数据插入到我的第二个表中,sqlite android

  20. 20

    无法创建数据库表并在iOS sqlite3中插入

  21. 21

    获取mysql中任何表的最后插入的id

  22. 22

    从Cassandra获取最后插入的数据

  23. 23

    无法使用Python在PostgreSQL中获取最后插入的ID

  24. 24

    无法将 xml 数据插入表中

  25. 25

    SQLite查询以从多个表中获取数据

  26. 26

    无法获取插入到我的数据库表中的时间戳记值

  27. 27

    无法获取插入到我的数据库表中的时间戳记值

  28. 28

    无法在 SQLite 中向表中插入信息

  29. 29

    无法在Android SQlite数据库中插入数据

热门标签

归档