SQLite的基本使用

创建一个类继承SQLiteOpenHelper

public class StudentDBOHelpher extends SQLiteOpenHelper {
    public StudentDBOHelpher(Context context) {
        super(context, "student.db", null, 1);
    }
    //数据库第一次被创建时调用
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabas) {
        sqLiteDatabas.execSQL("create table info (_id integer primary key autoincrement,studentid varchar(20),name varchar(20),phone varchar(20));");
    }
    //数据库升级时调用
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

数据库的增、删、改、查

public boolean add(String studentid, String name, String phone) {
    SQLiteDatabase db = helpher.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("studentid", studentid);
    values.put("name", name);
    values.put("phone", phone);
    long role = db.insert("info", null, values);
    db.close();
    return role == -1 ? false : true;
}
public boolean delete(String studentid) {
    SQLiteDatabase db = helpher.getWritableDatabase();
    int count = db.delete("info", "studentid=?", new String[]{studentid});
    db.close();
    return count <= 0 ? false : true;
}
public boolean update(String studentid) {
    SQLiteDatabase db = helpher.getWritableDatabase();
    ContentValues values=new ContentValues();
    values.put("phone","12345");
    int count = db.update("info", values, " studentid=?", new String[]{studentid});
    db.close();
    return count <= 0 ? false : true;
}
public Map<String, String> getStudentIfo(int i) {
    SQLiteDatabase db = helpher.getReadableDatabase();
    Cursor cursor = db.query("info", new String[]{"studentid", "name", "phone"}, null, null, null, null, null);
    cursor.moveToPosition(i);
    String studentid = cursor.getString(0);
    String name = cursor.getString(1);
    String phone = cursor.getString(2);
    cursor.close();
    db.close();
    HashMap<String, String> result = new HashMap<>();
    result.put("studentid", studentid);
    result.put("name", name);
    result.put("phone", phone);
    return result;
}

事务的用法

public void deleeteAll() {
    SQLiteDatabase db = helpher.getWritableDatabase();
    db.beginTransaction();
    try {
        Cursor cursor = db.query("info", new String[]{"studentid"}, null, null, null, null, null, null);
        while (cursor.moveToNext()) {
            String studentid = cursor.getString(0);
            db.delete("info", "studentid=?", new String[]{studentid});
        }
        cursor.close();
        db.setTransactionSuccessful();//只有执行了这条语局上面的操作才能成功 这就是事务的功能
    } catch (Exception e) {
        e.printStackTrace();

    }
    finally {
        db.endTransaction();
        db.close();
    }


}


猜你喜欢

转载自blog.csdn.net/qq_41039734/article/details/80893106