zoukankan      html  css  js  c++  java
  • Android SQLite 添加、更新和删除行

    SQLiteDatabase类暴露了特定的方法,如insert、delete和update等方法,这些方法包装了执行这些动作所需的SQL语句。尽管如此,execSQL方法允许你在数据库表上执行任何有效的SQL语句,而这些动作就是你想要手动执行的。
     
    在任何时候,如果你修改了底层数据库的值,你都应该调用任一在当前表上浏览的Cursor的refreshQuery方法。
     
    插入新行
     
    为了创建一个新行,构造一个ContentValues对象,并使用它的put方法来为每一列提供值。通过在目标数据库对象上调用insert方法,并将ContentValues对象传入方法中来插入一个新行——需要有表的名称——如下面的片段所示:
     
    // Create a new row of values to insert.
    ContentValues newValues = new ContentValues();
     
    // Assign values for each row.
    newValues.put(COLUMN_NAME, newValue);
    [ ... Repeat for each column ... ]
     
    // Insert the row into your table
    myDatabase.insert(DATABASE_TABLE, null, newValues);
     
    更新行
     
    更新行也需要通过ContentValues来实现。
     
    创建一个新的ContentValues对象,使用put方法来为每一个你想更新的列指定新的值。调用数据库对象的update方法,传入表名和更新的ContentValues对象,一个where语言来指明哪些行需要更新。
     
    更新的处理在下面的片段中有演示:
     
    // Define the updated row content.
    ContentValues updatedValues = new ContentValues();
     
    // Assign values for each row.
    updatedValues.put(COLUMN_NAME, newValue);
    [ ... Repeat for each column ... ]
    String where = KEY_ID + “=” + rowId;
     
    // Update the row with the specified index with the new values.
    myDatabase.update(DATABASE_TABLE, updatedValues, where, null);
     
    删除行
     
    为了删除一行,你可以在数据库对象上简单调用delete方法,指定表名和一个where语句来指明那些行你想要删除,如下面的代码所示:
     
    myDatabase.delete(DATABASE_TABLE, KEY_ID + “=” + rowId, null);
  • 相关阅读:
    JAVA中内存分配策略里的堆与栈
    Java中间件:淘宝网系统高性能利器
    优化Java堆大小的五个技巧
    Java编程程序异常处理方法
    Java内存管理的九个小技巧
    c++ 函数模板
    c setsockopt设置套接字状态
    c++ typedef 类型重定义语句
    c getaddrinfo函数
    c iovec结构体 readv writev
  • 原文地址:https://www.cnblogs.com/top5/p/2439592.html
Copyright © 2011-2022 走看看