zoukankan      html  css  js  c++  java
  • 使用SQLite数据库存储数据(4)删除数据记录

    删除数据记录

    当从UITableView中删除一行记录时,将调用commitEditingStyle方法。
    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
    {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
    // Get the object to delete from the array
    NotebookInfo *notebookInfo = [noteArray objectAtIndex:indexPath.row];
    [self removeNotebook: notebookInfo];

    // Delete the object from the table
    [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }
    }

    - (void)removeNotebook:(NotebookInfo *)notebookInfo {
    // Delete it from the database
    sqlite3_stmt *statement;

    const char *sql = "delete from Notebook where id = ?";
    // 编译SQL 语句,创建Statement 对象
    if(sqlite3_prepare_v2(noteDB, sql, -1, &statement, NULL) != SQLITE_OK)
    NSAssert1(0, @"Error while creating delete statement. '%s'", sqlite3_errmsg(noteDB));

    //When binding parameters, index starts from 1 and not zero.
    sqlite3_bind_int(statement, 1, notebookInfo.pk_id);

    // SQLITE_DONE 表示成功执行了Statement
    if (sqlite3_step(statement)  != SQLITE_DONE)
    NSAssert1(0, @"Error while deleting. '%s'", sqlite3_errmsg(noteDB));

    // Reset a prepared Statement object
    sqlite3_reset(statement);
    // Destroy the Statement object
    sqlite3_finalize(statement);

    // Remove it from the array
    [noteArray removeObject:notebookInfo];
    }

    在上面的代码中,我们实现了从3个地方删除对应的数据记录:
    (1) 从SQLite数据表中删除对应的记录;
    (2) 从noteArray 数组中删除对应的notebookInfo对象元素;
    (3) 从UITableView 中删除对一个的数据行;

    现在运行App测试一下,如果代码运行正常,运行效果如下图所示:

  • 相关阅读:
    svn服务器安装
    flex 协同
    大尾端 小尾端
    UNIX下c语言的图形编程curses.h 函式库(2)
    vs2005设置
    client 连接 host —— 虚拟机
    fedora 连网问题。。
    pv ip uv
    checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
    UNIX下c语言的图形编程curses.h 函式库
  • 原文地址:https://www.cnblogs.com/tuncaysanli/p/2727958.html
Copyright © 2011-2022 走看看