android下的SQLite数据库

一·创建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;

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值