SQLite数据库增删改查

SQLite的操作主要是继承SQLiteOpenHelper类,实现里面的onCreate()和onUpgrade()方法。

---贴上代码---

数据库的增删改查操作以及实现如下:


package com.example.qile.sql;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.example.qile.log.LogUtils;

/**
 * 借助此类访问数据库
 */

public class DBContext {

    private DBHelper dbHelper;
    private VoiceEntity voiceEntity;

    public DBContext(Context context) {
        dbHelper = new DBHelper(context, "voice.db", null, 1);
    }

    /**
     * 写入数据
     */
    public long insert(ContentValues values) {
        SQLiteDatabase sql = dbHelper.getWritableDatabase();
        //返回值为最后写入的那条ID值
        long id = sql.insert("voice", null, values);
        LogUtils.logv("写入数据 Ok");
        sql.close();
        return id;
    }

    /**
     * 删除数据
     */
    public void delete(long id) {
        SQLiteDatabase sql = dbHelper.getWritableDatabase();
        sql.delete("voice", "_id=?", new String[]{String.valueOf(id)});
        LogUtils.logv("<---删除数据 Ok--->");
        sql.close();
    }

    /**
     * 更新数据
     */
    public void update(ContentValues values, long id) {
        SQLiteDatabase sql = dbHelper.getWritableDatabase();
        sql.update("voice", values, "_id=?", new String[]{String.valueOf(id)});
        LogUtils.logv("<---更新数据 Ok--->");
        sql.close();
    }

    /**
     * 查询数据
     */
    public VoiceEntity findAll() {
        SQLiteDatabase sql = dbHelper.getReadableDatabase();
        Cursor c = sql.query("voice", new String[]{"_id", "user", "type", "content"}, null, null, null, null, null);
        while (c.moveToNext()) {
            voiceEntity = new VoiceEntity();
            voiceEntity.setId(c.getLong(0));
            voiceEntity.setUser(c.getString(1));
            voiceEntity.setType(c.getInt(2));
            voiceEntity.setContent(c.getString(3));
        }
        LogUtils.logv("查询数据--->" + voiceEntity.toString());
        c.close();
        return voiceEntity;
    }

    class DBHelper extends SQLiteOpenHelper {

        public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
            super(context, name, factory, version);
        }

        /**
         * 创建数据库时自动调用
         */
        @Override
        public void onCreate(SQLiteDatabase db) {
            String sql = "create table if not exists voice("
                    + "_id integer primary key,"
                    + "user varchar(100),"
                    + "type varchar(100),"
                    + "content varchar(100) )";
            db.execSQL(sql);
            LogUtils.logv("<---table 创建 Ok--->");

        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        }
    }

}



用来存放数据的实体类如下:


package com.example.qile.sql;

import java.io.Serializable;

/**
 * 实体类
 */
public class VoiceEntity implements Serializable {

    private static final long serialVersionUID = -3288358002442732585L;

    /**
     * ID
     */
    private long id;

    /**
     * 用户
     */
    private String user;

    /**
     * 类型
     */
    private int type;

    /**
     * 内容
     */
    private String content;

    public VoiceEntity() {
        super();
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public long getId() {
        return id;
    }

    public String getUser() {
        return user;
    }

    public int getType() {
        return type;
    }

    public String getContent() {
        return content;
    }

    public void setId(long id) {
        this.id = id;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public void setType(int type) {
        this.type = type;
    }

    public void setContent(String content) {
        this.content = content;
    }

    @Override
    public String toString() {
        return "VoiceEntity{" +
                "id=" + id +
                ", user='" + user + '\'' +
                ", type=" + type +
                ", content='" + content + '\'' +
                '}';
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值