} //保存一个User public void saveUser(User user) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase User集合 public void saveUserOrList(List<User> users) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase (users); } public void deleteUser(User user) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase user); } public void deleteUserById(Long id) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase ; } public List<User> queryBySex(String sex) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase
还有两个重要的实例方法: getReadableDatabase()和getWritableDatabase()。 其不同:当数据库不可写入时(如磁盘空间已满), 前者返回的对象以getReadableDatabase()打开数据库,getWritableDatabase()将出现异常。 构建SQLiteOpenHelper实例后, 再调用他的getReadableDatabase()/getWritableDatabase()方法就能创建数据库了 (数据库文件会存放在/data/data 4. } } 再次调用getWritableDatabase();时, onCreate()不会再执行了, 因为数据库只能创建一次,刚刚已经创建过了; 所以这里只能在onUpgrade SQLiteOpenHelper的两个实例方法getReadableDatabase()/getWritableDatabase() 会返回SQLiteDatabase对象, 借助这个对象就可对数据进行
* 一般情况下:getWritableDatabase和getReadableDatabase返回的都是可读可写的数据库 * 但是出错情况下:比如磁盘已满,则调用getReadableDatabase 具体见API说明 */ db = oh.getWritableDatabase(); //oh.getReadableDatabase(); } 当第一次没有数据库时,就会调用MySQLiteOpenHelper (3), pm integer(5))"); } 当我测试后: 此时在包名下面的databasesx下数据库就已经存在了 打开后发现: 这时候数据库已经存在了,此时如果再次调用oh.getWritableDatabase 得到数据库对象 MySQLiteOpenHelper oh = new MySQLiteOpenHelper(getContext(), "weather.db", null, 1); db = oh.getWritableDatabase 得到数据库对象 MySQLiteOpenHelper oh = new MySQLiteOpenHelper(getContext(), "weather.db", null, 1); db = oh.getWritableDatabase
name",name); values.put("phone",phone); db=myHelper.getWritableDatabase SQLiteDatabase db; ContentValues values; db=myHelper.getWritableDatabase SQLiteDatabase db; ContentValues values; db=myHelper.getWritableDatabase Toast.LENGTH_SHORT).show(); db.close(); 总结;当对数据进行修改时; SQLiteDatabase db;要使用myHelper.getWritableDatabase
values = new ContentValues(); values.put("name","jimu") values.put("pwd","123456") sqlhelper.getWritableDatabase 基本语法 //删除数据 DELETE FROM USER WHERE name = "jimu"; //删除数据库 DROP TABLE 数据库名.表名; 2)Android中用法: //删除数据 getWritableDatabase , new String[]{"jimu"}); //删除数据库 getWritableDatabase().execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME); [ GROUP BY 列名 ] [ HAVING <条件> ] [ ORDER BY 列名 <DESC> | <ASC> ] [ LIMIT 行数 OFFSET 偏移量] 2)Android中用法 getWritableDatabase String[]{"jimu"},null,null,null); 改 1)基本语法 UPDATE USER SET name = "jimu2" WHERE id = 1; 2)Android中用法: getWritableDatabase
常见数据库使用 数据库操作无外乎:“增删查改”: 对于“增、删、改(更新)”这类对表内容变换的操作,需先调用getWritableDatabase()获得一个可写数据库对象,在执行的时候调用通用的 () ; 3.2 插入数据 步骤:创建并打开数据库(可读/写)、插入数据 涉及方法:getWritableDatabase()、insert() insert()也可以使用excelSQL() ()得到一个可写的SQLiteDatabase对象 SQLiteDatabase sqliteDatabase = dbHelper.getWritableDatabase(); ()方法创建或打开一个可以读的数据库 SQLiteDatabase sqliteDatabase1 = dbHelper1.getWritableDatabase(); ()方法创建或打开一个可以读的数据库 SQLiteDatabase sqliteDatabase3 = dbHelper3.getWritableDatabase();
money * 金额 */ public void add(String name, float money) { SQLiteDatabase db = helper.getWritableDatabase db.close(); } public void delete(int id) { SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL id }); db.close(); } public void update(int id, float newmoney) { SQLiteDatabase db = helper.getWritableDatabase true 插入成功 false 失败 */ public boolean add(String name, float money) { SQLiteDatabase db = helper.getWritableDatabase return false; } } public boolean update(int id, float newmoney) { SQLiteDatabase db = helper.getWritableDatabase
创建 or 打开 可读/写的数据库(通过 返回的SQLiteDatabase对象 进行操作) getWritableDatabase() // 2. 数据库第1次创建时 则会调用,即 第1次调用 getWritableDatabase() / getReadableDatabase()时调用 // 在继承SQLiteOpenHelper类的子类中复写 对于操作 = “增、删、改(更新)”,需获得 可"读 / 写"的权限:getWritableDatabase() 对于操作 = “查询”,需获得 可"读 "的权限getReadableDatabase( ()方法创建或打开一个可以读的数据库 SQLiteDatabase sqliteDatabase1 = dbHelper1.getWritableDatabase(); ()方法创建或打开一个可以读的数据库 SQLiteDatabase sqliteDatabase3 = dbHelper3.getWritableDatabase();
得到数据库对象 MySQLiteOpenHelper oh = new MySQLiteOpenHelper(getContext(), "weather.db", null, 1); db = oh.getWritableDatabase 得到数据库对象 MySQLiteOpenHelper oh = new MySQLiteOpenHelper(getContext(), "weather.db", null, 1); db = oh.getWritableDatabase 得到数据库对象 MySQLiteOpenHelper oh = new MySQLiteOpenHelper(getContext(), "weather.db", null, 1); db = oh.getWritableDatabase 得到数据库对象 MySQLiteOpenHelper oh = new MySQLiteOpenHelper(getContext(), "weather.db", null, 1); db = oh.getWritableDatabase
while循环Cursor对象调用moveToNext() 返回List集合 插入一条 定义方法add(),插入一条记录,参数:String电话号码,String的mode模式 调用helper对象的getWritableDatabase 调用ContentValues对象的put()方法,参数:key,value 修改记录 定义方法update(),修改记录,参数:String电话号码,String的mode模式 调用helper对象的getWritableDatabase ,String[]参数值数组 删除记录 定义delete()方法,删除记录,参数:String电话号码 调用helper对象的getWritableDatabase()方法,获取到SQLiteDatabase param mode */ public void add(String phone,String mode) { SQLiteDatabase db=helper.getWritableDatabase * @param phone */ public void delete(String phone){ SQLiteDatabase db=helper.getWritableDatabase
void click(View view){ switch(view.getId()){ case R.id.btn_insert: SQLiteDatabase db=helper.getWritableDatabase void click(View view){ switch(view.getId()){ case R.id.btn_insert: SQLiteDatabase db=helper.getWritableDatabase "; DbManger.execSQL(db,sql2); db.close(); break; case R.id.btn_update: db=helper.getWritableDatabase "; DbManger.execSQL(db,sql2); db.close(); break; case R.id.btn_update: db=helper.getWritableDatabase "; DbManger.execSQL(db,sql2); db.close(); break; case R.id.btn_update: db=helper.getWritableDatabase
void click(View view){ switch(view.getId()){ case R.id.btn_insert: SQLiteDatabase db=helper.getWritableDatabase void click(View view){ switch(view.getId()){ case R.id.btn_insert: SQLiteDatabase db=helper.getWritableDatabase "; DbManger.execSQL(db,sql2); db.close(); break; case R.id.btn_update: db=helper.getWritableDatabase "; DbManger.execSQL(db,sql2); db.close(); break; case R.id.btn_update: db=helper.getWritableDatabase "; DbManger.execSQL(db,sql2); db.close(); break; case R.id.btn_update: db=helper.getWritableDatabase
{ } } 3.在需要的地方使用: MySQLHelper mySQLHelper = new MySQLHelper(this);//创建辅助对象 mySQLHelper.getWritableDatabase ();//获取可写数据库对象 //getReadableDatabase()和getWritableDatabase() //这两个方法都可以创建或打开一个现有的数据库,并返回一个可对数据库进行读写操作的对象 //磁盘空间已满时getWritableDatabase()异常 ? 逐暮',100,1000,10000)," + "(3,'风跃',9000,10,255);"; 2..在需要的地方使用 mDb = new MySQLHelper(this).getWritableDatabase static final String UPDATE = "UPDATE sword SET hit=hit+1;"; 2.在需要的地方使用 mDb = new MySQLHelper(this).getWritableDatabase
helper = new DataBaseHelp(this); } //创建数据库 public void btncreate(View view) { //getWritableDatabase ()打开数据库 SQLiteDatabase db = helper.getWritableDatabase(); //当数据库不用时关闭数据库(为了防止博主Demo出错 db.close(); } //添加数据 public void btninsert(View view) { SQLiteDatabase db = helper.getWritableDatabase db.close(); } //修改数据 public void btnupdate(View view) { SQLiteDatabase db = helper.getWritableDatabase db.close(); } //查找数据 public void btnselect(View view) { SQLiteDatabase db = helper.getWritableDatabase
View.OnClickListener() { @Override public void onClick(View v) { dbHelper.getWritableDatabase @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase
SQLiteDatabase db = openHelper.getReadableDatabase(); return db; } private SQLiteDatabase getWritableDatabase new DaoMaster.DevOpenHelper(context, dbName, null); } SQLiteDatabase db = openHelper.getWritableDatabase insertUser(BlackInfoCallMIssedBean BlackInfoCallMIssedBean) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase deleteUser(BlackInfoCallMIssedBean BlackInfoCallMIssedBean) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase updateUser(BlackInfoCallMIssedBean BlackInfoCallMIssedBean) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase
null, null, null); return cursor; } public long insert(String text) { SQLiteDatabase db = this.getWritableDatabase db.insert(TABLE_NAME, null, cv); return row; } public void delete(int id) { SQLiteDatabase db = this.getWritableDatabase TABLE_NAME, where, whereValue); } public void update(int id, String text) { SQLiteDatabase db = this.getWritableDatabase
getApplicationContext(); DatabaseHelper helper = new DatabaseHelper(context); SQLiteDatabase database = helper.getWritableDatabase getApplicationContext(); DatabaseHelper helper = new DatabaseHelper(context); SQLiteDatabase database = helper.getWritableDatabase instance; } public synchronized SQLiteDatabase getDatabase() { return mDatabaseHelper.getWritableDatabase mOpenCounter.incrementAndGet() == 1) { // Opening new database mDatabase = mDatabaseHelper.getWritableDatabase
DatabaseHelper helper2=new DatabaseHelper(this,"School_db"); SQLiteDatabase db2=helper2.getWritableDatabase DatabaseHelper helper3=new DatabaseHelper(this,"School_db"); SQLiteDatabase db3=helper3.getWritableDatabase School_db"); //增加 public void addPerson(String name) { SQLiteDatabase database = myDBHelper.getWritableDatabase //删除一条数据 public void deletePerson(String name) { SQLiteDatabase database = myDBHelper.getWritableDatabase public void updatePerson( String newName,String name) { SQLiteDatabase database = myDBHelper.getWritableDatabase
openHelper.getReadableDatabase(); return db; } //可写数据库 private SQLiteDatabase getWritableDatabase new DaoMaster.DevOpenHelper(context, dbName, null); } SQLiteDatabase db = openHelper.getWritableDatabase } //插入数据 public void insertUser(User user) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase null || users.isEmpty()) { return; } DaoMaster daoMaster = new DaoMaster(getWritableDatabase } //删除数据 public void deleteUser(User user) { DaoMaster daoMaster = new DaoMaster(getWritableDatabase