android下的SQLite数据库

来源:互联网 发布:淘宝网 电脑版 登录 编辑:程序博客网 时间:2024/05/18 00:09

一·创建SQLite数据库

在com.bmcq.db包中,再创建一个class,即跟MainActivity.java
是同一目录下,我自己取名为personSQLiteHelper.java.
代码如下:

package com.bmcq.dp;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class personalSOLiteHelper extends SQLiteOpenHelper {    /*     * 数据库的构造方法  用来数据库的名称    数据库查询的结果集  数据库的版本      */    public personalSOLiteHelper(Context context            ) {        super(context, "person.db", null, 1);        // TODO Auto-generated constructor stub    }    @Override    /*1     * 数据库第一次被创建时调用的方法     * db 创建的数据库     * (non-Javadoc)     * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)     */    public void onCreate(SQLiteDatabase db) {        // TODO Auto-generated method stub        db.execSQL("create  table person(id integer primary key autoincrement,name varchar[20],number varchar[20]) ");    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        // TODO Auto-generated method stub    }}

然后我们把它布置到手机中后,会在DDMS中找到person.db,
然后用SQLite Expert Person打开它,就会出现下面的情况
这里写图片描述

此时数据库就以创建成功!

*二、sql语句实现数据库的增删改查***u
在数据库中,我们有很多方式可以修改数据库里面的内容,可以直接
在数据库中实现语句的修改,也可以在eclipse中运用代码修改。
下面我先跟大家说一说这个在数据库中用语句修改·的方法!

/*insert into person(name,number) values("zhangsan","110")//增添select * from person//查询全部条目select * from person where name = "zhangsan"//查询具体条目update person set number = "119" where name = "zhangsan" //更新条目delete from person where name ="zhangsan“//删除具体条目*/select * from person

由于我将上述部分代码给注释了,所以只能运行最后一行代码。

运行结果图如下

这里写图片描述

紧接在ecplise中也可以用代码实现增删改查,

package com.bmcq.dp.dao;import java.util.ArrayList;import java.util.List;import android.R.integer;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import com.bmcq.dp.personalSOLiteHelper;import com.bmcq.dp.domain.person;public class PersonDao {    private personalSOLiteHelper helper;    public PersonDao(Context context )    {        helper =  new personalSOLiteHelper(context);    }    /*     * add 添加一条记录到数据库     * name 姓名     * number 编号     */    public void add(String name,String number)    {        SQLiteDatabase db = helper.getWritableDatabase();        db.execSQL("insert into person(name,number) values(?,?)",  new Object[]{name,number });        db.close();    }    /*     * find 查询记录是否存在     * name 姓名     * true 存在 false 不存在     */    public boolean find(String name)    {        SQLiteDatabase db = helper.getReadableDatabase();        Cursor cursor = db.rawQuery("select * from person where name = ?", new String[]{name});        boolean result = cursor.moveToNext();        cursor.close();        db.close();        return result;    }    /*     * update  修改信息     * name 姓名     * newnumber 新号码     */    public void update(String name,String newnumber)    {        SQLiteDatabase db = helper.getReadableDatabase();        db.execSQL("update person set number = ? where name = ?",new Object[]{newnumber,name});        db.close();    }    /*     * 删除一条记录     * name 姓名     */    public void delete(String name)    {        SQLiteDatabase db = helper.getReadableDatabase();        db.execSQL("delete from person where name =?", new String[]{name});        db.close();    }    /*     * 返回全部的数据库信息     */    public List<person> findAll()    {        SQLiteDatabase db = helper.getReadableDatabase();        Cursor cursor = db.rawQuery("select * from person",null);        List<person> persons = new ArrayList<person>();        while(cursor.moveToNext())        {            int id = cursor.getInt(cursor.getColumnIndex("id"));            String name = cursor.getString(cursor.getColumnIndex("name"));            String number = cursor.getString(cursor.getColumnIndex("number"));            person p = new person(id,name,number);            persons.add(p);        }        cursor.close();        db.close();        return persons;    }}