android SQL数据库的使用

建一个自己的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;
        }
    }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值