zoukankan      html  css  js  c++  java
  • SQLite数据库的简单读写操作

    安卓系统自带SQLite数据库,SDK中对SQLite的操作由SQLiteDatabase完成,涉及到的类有如下几个:
    1、SQLiteDatabase:代表数据库本身,支持对数据的标准SQL操作
    2、Cursor:用来实现对查询结果集的随机读写

    下面代码实现如何打开数据库,并建立数据表:
    SQLiteDatabase db;
    db = openOrCreateDatabase(DB_NAME, this.MODE_PRIVATE, null); 
    db.execSQL("DROP TABLE IF EXISTS students");    
    db.execSQL("CREATE TABLE IF NOT EXISTS students (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age INTEGER)"); 
    db.execSQL("insert into students values (null,?,?)",new Object[]{"Tom",30});
    实际上,db.execSQL()函数就可以执行全部的SQL指令。

    下面的代码实现如何通过Cursor循环读取数据表中的数据:
    Cursor c = db.rawQuery("SELECT * FROM students",null); 
    while (c.moveToNext())
    {
    int id = c.getInt(c.getColumnIndex("_id"));  
        String name = c.getString(c.getColumnIndex("name")); 
        System.out.printlin(id+name);   
    }
    c.close();
    db.close();

    Cursor的另一些操作
    通过getCount()方法得到结果集中有多少记录;
    通过getColumnNames()得到字段名;
    通过getColumnIndex()转换成字段号;
    通过getString().getInt()等方法得到给定字段当前记录的值;
    通过requery()方法重新还行查询得到游标;
    通过close()方法释放游标资源。

    Cursor的移动操作:
    MoveToNext()
    MoveToPrevious()
    MoveToLast()
    MoveToFirst()
    Move(int offset)从当前位置向上或向下移动的行数,offset的正负分别代表向下和向上;
    MoveToPosition(int position)移到position指定的行
  • 相关阅读:
    “终身幼儿园”:学习是一个创造的过程
    我对ERP实质的理解(陈启申)
    Java学习记录1java并发编程之synchronized初学
    谈谈你对Spring的理解
    java中的==与equals的区别
    Windows下编译安装perl Module
    win系统用virtualBox安装Ubuntu虚拟机,如何共享数据
    Windows下emacsw3m设置代理
    自我介绍
    document 对象
  • 原文地址:https://www.cnblogs.com/maxma/p/9169812.html
Copyright © 2011-2022 走看看