创建一个类继承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(); } }