SQLite 数据插入未反映在表中

Posted

技术标签:

【中文标题】SQLite 数据插入未反映在表中【英文标题】:SQLite data insert not reflected in table 【发布时间】:2010-12-27 07:33:41 【问题描述】:

我可以插入我的数据,但我不能在我的表格视图中显示它们。我试过[tableview reloadData] 但没有成功

这是我的代码:

-(void)gButtonTapped:(id)sender
  


    NSLog(@"right nav bar button is  hit%@ ",storePaths);
    //[self readAnimalsFromDatabase2];

    appDelegate = (DatabaseTestAppDelegate *)[[UIApplication sharedApplication] delegate];
    sqlite3 *database;

     sqlite3_stmt *compiled_statement1;
     if(sqlite3_open([storePaths UTF8String], &database) == SQLITE_OK) 
         //const char *sqlStatement = 


         NSString *newQuery = [NSString stringWithFormat:@"insert into cat_tbl (cat_id,names,imgs) values ('12','test1','r.png')"];

        // NSString *newQuery = [NSString stringWithFormat:@"select * from list_tbl"];

        const char *sql = [newQuery cStringUsingEncoding:NSASCIIStringEncoding];


        NSLog(@"update query is %@",newQuery);

        if(sqlite3_prepare_v2(database, sql, -1, &compiled_statement1, NULL) == SQLITE_OK)
        
            int result = sqlite3_step(compiled_statement1);
            sqlite3_reset(compiled_statement1);
            NSLog(@"result %d", result);

            if(result != SQLITE_ERROR) 
                int lastInsertId =  sqlite3_last_insert_rowid(database);
                NSLog(@"x %d", lastInsertId);
        




        

    

    sqlite3_finalize(compiled_statement1);


    sqlite3_close(database);
    [tableView reloadData];// this is also  not working 


【问题讨论】:

请建议如何在表格视图上反映新数据:( 【参考方案1】:

您需要通过调用选择查询来更新您的表格视图数据源,或者通过在新值成功插入数据库时​​添加新值来更新您的数据源。

【讨论】:

以上是关于SQLite 数据插入未反映在表中的主要内容,如果未能解决你的问题,请参考以下文章

在 SQLite 中同时向 4 个表中插入数据。如何?

唯一约束失败:sqlite 数据库:android

使用插入批量插入...在sqlite中选择?

如果 iPhone 应用程序中不存在,则在表中插入记录

如何在 SQLite 中设置自动时间戳?

Datagridview 中的更改未保存在表 SQLite vb.net 中