zoukankan      html  css  js  c++  java
  • 安卓 SQLiteDatabase类

    SQLiteDatabase类

    实现数据库基本操作 
    数据库创建的问题解决了,接下来就该使用数据库实现应用程序功能的时候了。基本的操作包括创建、读取、更新、删除,即我们通常说的CRUD(Create, Read, Update, Delete)。在实现这些操作的时候,我们会使用到两个比较重要的类SQLiteDatabase类和Cursor类。

         SQLiteDatabase类在上面已经接触过了,这个类是核心类,用于管理和操作SQLite数据库,几乎所有的数据库操作,最终都将由这个类完成。
    
    • 1
    • 2

    Cursor类主要用于保存查询返回的结果,提供随机读、写的功能,从这一点上来看,有点类似于ado中的Dataset。Cursor类非常重要,在数据库操作中,在UI中,经常会用到Cursor,所以大家一定要掌握Cursor 的用法。

        下面我们用实例来说明如何实现CRUD操作。首先,我们创建一个客户资料相关的数据存取类,在这个类中,我们实现基本的增删改查等操作,需要的话,大家可以自己添加其它的代码等等,这里我们只是演示数据库的基本操作。
    
       限于篇幅,这里就不详细解释了,代码中都有详细的注释,如下所示:
    
    • 1
    • 2
    • 3
    • 4

    view plaincopy to clipboardprint?

    package com.yulingkong.customer;

    //为了节省篇幅,忽略了import项,请自行添加

    public 
    class CustomerAL {

    // 表名称

    private 
    static 
    final String TABLE_NAME = “Customers”;

    private SQLiteDatabase mDB;

    /** 
    * CustomerAL构造函数 
    * @param db SQLiteDatabase类实例 
    */

    public CustomerAL(SQLiteDatabase db) { 
    mDB = db; 
    }

    /** 
    * 添加客户资料 
    * @param name 客户姓名 
    * @param address 客户地址 
    */

    public 
    long add(String name, String address) {

    // 使用ContentValues保存列和列对应的值 
    ContentValues values = new ContentValues();

        values.put("Name", name); 
        values.put("Address", address); 
    
    • 1
    • 2
    • 3

    // 调用SQLiteDatabase类的insert函数添加记录

    return mDB.insert(TABLE_NAME, null, values); 
    }

    /** 
    * 删除客户资料 
    * @param id 客户的id号 
    */

    public 
    int delete(long id) {

    // 查询条件语句 
    String[] whereArgs = new String[]{Long.toString(id)};

    // 查询匹配条件,与selection要对应 
    String whereClause = “_id=?”;

    // 调用SQLiteDatabase类的delete函数删除记录

    return mDB.delete(TABLE_NAME, whereClause, whereArgs); 
    }

    /** 
    * 根据客户的id,查询客户的资料,查询结果保存在Cursor中 
    * @param id 客户的id号 
    */

    public Cursor getById(long id) {

    // 要返回的列 
    String[] columns = new String[]{“Name”, “Address”};

    // 查询条件语句 
    String selection = “_id=?”;

    // 查询匹配条件,与selection要对应 
    String[] selectionArgs = new String[]{Long.toString(id)};

    // 调用SQLiteDatabase类的query函数查询记录

    return mDB.query(TABLE_NAME, columns, selection, selectionArgs, null, null, null); 
    }

    /** 
    * 返回所有的客户资料 
    */

    public Cursor getAll() {

    // 需要返回的列 
    String[] columns = new String[]{“Name”, “Address”};

    // 调用SQLiteDatabase类的query函数查询记录

    return mDB.query(TABLE_NAME, columns, null, null, null, null, null); 

    }

  • 相关阅读:
    温故而知新 js 点击空白处关闭气泡
    javascript 打印错误信息 catch err
    ajax application/json 的坑
    nodejs 的好基友:pm2
    有道翻译 / 百度翻译Api
    PHP 正则表达式
    php 正则替换
    github get 请求指定页面的代码
    H5 input 聚焦 置顶
    autoHotKey 一些脚本积累
  • 原文地址:https://www.cnblogs.com/tutumissed/p/8276663.html
Copyright © 2011-2022 走看看