zoukankan      html  css  js  c++  java
  • Android使用SQLite数据库(2)

    打开SQLite数据库,首先要建立一个DatabaseHelper类的实例,然后,再获得数据库:

    DatabaseHelper mDBH;
    SQLiteDatabase db;
    mDBH = new DatabaseHelper(MainActivity.this);
    db = mDBH.getWritableDatabase();
    

    getWritableDatabase()的解释是

    Create and/or open a database that will be used for reading and writing,

    创建(第一次运行时)或打开能够读写的数据库,用这个方法打开数据库,既可以读,也可以写数据库。

    打开数据库后需要做一个SQL查询返回数据集,即SQLiteDatabase的query方法:

    Cursor android.database.sqlite.SQLiteDatabase.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)

    query方法的返回值是一个Cursor,它的几个主要参数,table是表名,columns是返回的列名字符串数组,selection是选择操作,selectionArgs是选择操作的参数。

    Cursor cur_db;
    String[] col = new String[]{DatabaseHelper.NAME, DatabaseHelper.NUMBER, DatabaseHelper.DATE, 
    DatabaseHelper.DATES, DatabaseHelper.YEAR, DatabaseHelper.MONTH, 
    DatabaseHelper.DAY, DatabaseHelper.HOUR, DatabaseHelper.MINUTE, 
    DatabaseHelper.DOW, DatabaseHelper.TYPE};
    String sel1 = DatabaseHelper.YEAR+ "=? AND " + DatabaseHelper.MONTH + "=?";
    String[] sel2 = new String[]{fmt(cyear), fmt(cmonth)};
    cur_db = db.query(DatabaseHelper.TABLE_NAME, col, sel1, sel2, null, null, null); 
    

    以上查询中,col是返回的列名字符串数组,sel1是选择操作,sel2是选择操作的参数。最后执行查询操作,并将结果返回给cur_db。

  • 相关阅读:
    相对嵌套布局
    转:Android控件属性
    layout_weight属性分析
    Node.js 中文乱码解决
    转:正则表达式30分钟入门
    转: 再谈select, iocp, epoll,kqueue及各种I/O复用机制
    多线程调试
    GDB调试增强篇
    GDB调试
    笔趣阁
  • 原文地址:https://www.cnblogs.com/mstk/p/3469132.html
Copyright © 2011-2022 走看看