zoukankan      html  css  js  c++  java
  • 创建Sqlite数据库(二)

    先创建一个数据库表,然后在主activity中执行删除更新操作

    public class MainActivity extends AppCompatActivity {
    
        @Override
    
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Mysqlite mysqlite = new Mysqlite(this);
            SQLiteDatabase sqLiteDatabase = mysqlite.getWritableDatabase();
    
            ContentValues contentValues = new ContentValues();
            contentValues.put("id", 0);
            contentValues.put("name", "张三");
            sqLiteDatabase.insert("student", null, contentValues);
            System.out.println("插入数据");
    
            Cursor cursor = sqLiteDatabase.query("student", new String[]{"id", "name"}, "id=?", new String[]{"0"}, null,
                    null, null);
            while (cursor.moveToNext()) {
                String id = cursor.getString(cursor.getColumnIndex("id"));
                String name = cursor.getString(cursor.getColumnIndex("name"));
                System.out.println(id + "  " + name);
            }
    
                ContentValues contentValues1 = new ContentValues();
                contentValues1.put("name", "李四");
                sqLiteDatabase.update("student", contentValues1, "id=?", new String[]{"0"});//?是占位符,后面String
            //数组的元素0填补前面的占位符?,也就是id=0,whereClause(where字句)只是一个限制条件
                System.out.println("更新数据");
    
            sqLiteDatabase.delete("student", "id=?", new String[]{"0"});
            System.out.println("删除数据");
    
            deleteDatabase("student");
            System.out.println("删除数据库");
    
            sqLiteDatabase.close();
            }
        }

    上面是主Activity,不要重复创建sqliteDatabase,不然内部无法同步

    public class Mysqlite extends SQLiteOpenHelper {
        SQLiteDatabase readableDatabase;
        public Mysqlite(Context context) {
            super(context, "student", null, 2);
            readableDatabase = getWritableDatabase();//创建数据库不需要什么权限,但是这行代码一定要写
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
    
            db.execSQL("create table student (id integer,name varchar)");
            System.out.println("创建");
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
        }
    }

    上面是创建数据库//重要的事情说三遍

  • 相关阅读:
    Codeforces Round #652 (Div. 2)
    Codeforces Round #651 (Div. 2)
    The 2017 China Collegiate Programming Contest, Qinhuangdao Site
    2017中国大学生程序设计竞赛-哈尔滨站
    Codeforces Global Round 8
    [CF768D] Jon and Orbs
    2020牛客暑期多校训练营(第一场)I
    2020牛客暑期多校训练营(第一场)F
    [HDU5769] Substring
    [PA2010] Riddle
  • 原文地址:https://www.cnblogs.com/Ocean123123/p/10959019.html
Copyright © 2011-2022 走看看