建一个自己的OpenHelper类继承SQLiteOpenHelper,完成表格的创建。
public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_STUDENT = "create table Student (" + "id integer primary key autoincrement," + "name text," + "height real," + "age integer," + "course text)"; public static final String CREATE_COURSE = "create table Course(" +"id integer primary key autoincrement," +"course_name text," +"course_score integer)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_STUDENT); db.execSQL(CREATE_COURSE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // switch (oldVersion){ // case 1: // db.execSQL(CREATE_COURSE); // case 2: // db.execSQL("alter table Course add column course_score integer"); // default: // } } }
在主类中,添查改删的操作
switch (v.getId()){ case R.id.create_database: dbHelper.getWritableDatabase(); break; case R.id.add_data: SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name","wanghao"); values.put("height",172.1); values.put("age", 2); values.put("course","like"); db.insert("Student", null, values); Log.d(TAG, "wanghao"); values.clear(); values.put("name", "chenguo"); values.put("height", 162.2); values.put("age", 24); values.put("course", "wenke"); db.insert("Student", null, values); Log.d(TAG, "chenguo"); values.clear(); values.put("course_name", "wuli"); values.put("course_score", 90); db.insert("Course", null, values); Log.d(TAG, "like"); values.clear(); values.put("course_name", "lishi"); values.put("course_score", 80); db.insert("Course", null, values); Log.d(TAG, "wenke"); values.clear(); Toast.makeText(this, "add", Toast.LENGTH_SHORT).show(); break; case R.id.updata_data: SQLiteDatabase db_1 = dbHelper.getWritableDatabase(); ContentValues values_1 = new ContentValues(); values_1.put("age", 24); db_1.update("Student", values_1, "name=?", new String[]{"wanghao"}); Toast.makeText(this, "updata", Toast.LENGTH_SHORT).show(); break; case R.id.delete_data: SQLiteDatabase db_2 = dbHelper.getWritableDatabase(); db_2.delete("Student","age>?",new String[] {"23"}); Toast.makeText(this, "delete", Toast.LENGTH_SHORT).show(); break; case R.id.query_data: SQLiteDatabase db_3 = dbHelper.getWritableDatabase(); // Cursor cursor = db_3.query("Student", null, "age>?", new String[] {"10"}, null, null, null); Cursor cursor = db_3.query("Student",null,null,null,null,null,null); Cursor cursor_1 = db_3.query("Course",null,null,null,null,null,null); if(cursor.moveToFirst()){ do{ String name = cursor.getString(cursor.getColumnIndex("name")); double height = cursor.getDouble(cursor.getColumnIndex("height")); int age = cursor.getInt(cursor.getColumnIndex("age")); String course = cursor.getString(cursor.getColumnIndex("course")); Log.d(TAG,"student name is "+name); Log.d(TAG,"student height is "+height); Log.d(TAG,"student age is "+age); Log.d(TAG,"student course is "+course); }while (cursor.moveToNext()); cursor.close(); } if(cursor_1.moveToFirst()){ do { String course_name = cursor_1.getString(cursor_1.getColumnIndex("course_name")); int course_score = cursor_1.getInt(cursor_1.getColumnIndex("course_score")); Log.d(TAG,"course name is "+course_name); Log.d(TAG,"course score is "+course_score); }while (cursor_1.moveToNext()); cursor_1.close(); } Toast.makeText(this, "query", Toast.LENGTH_SHORT).show(); break; case R.id.replace_data: SQLiteDatabase db_4 = dbHelper.getWritableDatabase(); db_4.beginTransaction(); try { db_4.delete("Student",null,null); // if(true){ // throw new NullPointerException(); // } ContentValues values_4 = new ContentValues(); values_4.put("name","null"); values_4.put("height","null"); values_4.put("age","null"); values_4.put("course","null"); db_4.insert("Student",null,values_4); db_4.setTransactionSuccessful(); } catch (Exception e) { e.printStackTrace(); } finally { db_4.endTransaction(); } Toast.makeText(this, "replace", Toast.LENGTH_SHORT).show(); break; default:break; } }