• Android中SQLite的使用


    一、如何创建数据库和表?

         自己的类继承抽象类SQLiteOpenHelper。

      (1)修改中的构造方法中的super方法创建数据库

      (2)第一个抽象方法用于创建表

    二、如何进行增删改查,代码如下:

    public class StudentDao {
        private StudentSqliteOpenHelper studentSqliteOpenHelper;
    
        public StudentDao(Context context){
            studentSqliteOpenHelper = new StudentSqliteOpenHelper(context);
        }
        //
        public boolean add(Student student){
            SQLiteDatabase db = studentSqliteOpenHelper.getReadableDatabase();
            ContentValues values = new ContentValues();
            values.put("name",student.name);
            values.put("age",student.age);
            values.put("school",student.school);
    
            long result = db.insert("student", null, values);
            db.close();
            if(result != -1){
                return true;
            }else{
                return false;
            }
        }
        //
        public int del(String name){
            SQLiteDatabase db = studentSqliteOpenHelper.getReadableDatabase();
            int delLines = db.delete("student", "name = ?", new String[]{name});
            db.close();
            return delLines;
        }
    
        //
        public int update(Student student){
            SQLiteDatabase db = studentSqliteOpenHelper.getReadableDatabase();
            ContentValues values = new ContentValues();
            values.put("name",student.name);
            values.put("age",student.age);
            values.put("school",student.school);
            int result = db.update("student", values, "name = ?", new String[]{student.name});
            db.close();
            return result;
        }
        //
        public ArrayList<Student> query(String name){
            SQLiteDatabase db = studentSqliteOpenHelper.getReadableDatabase();
            Cursor cursor = db.rawQuery("select * from student where name = ?", new String[]{name});
            ArrayList<Student> arrayList = new ArrayList<>();
            if(cursor != null && cursor.getCount() > 0){
                //遍历cursor
                while (cursor.moveToNext()){
                    Student s = new Student();
                    s.id = cursor.getLong(0);
                    s.name = cursor.getString(1);
                    s.age = cursor.getInt(2);
                    s.school = cursor.getString(3);
                    arrayList.add(s);
                }
            }
            db.close();
            return arrayList;
        }
    }

      

  • 相关阅读:
    若没有特殊说明,博文密码都是我的生日
    「考前日志」11.18
    「考前日志」11.17
    洛谷 P2018 消息传递
    「考前日志」11.16
    「考前日志」11.15
    「考前日志」11.14
    2020.11.13 “考试”
    「考前日志」11.13
    AcWing277 饼干
  • 原文地址:https://www.cnblogs.com/drinkMilk/p/7096379.html
Copyright © 2020-2023  润新知