android数据库中数据不存在就插入,存在就更新操作方法
2014-07-30 16:51
615 查看
有时候,我们需要将在数据库中不存在数据的时候,就插入数据。存在的时候就更新数据。mqsql里面提供了相应的操作方法,但是sqlite3没有提供相应的方法。
就只能,先找;如果存在就更新,不存在就插入了;
上代码
就只能,先找;如果存在就更新,不存在就插入了;
上代码
public boolean insertOrUpdateBook(UserBookInfo userBookInfo){ SQLiteDatabase database = openDatabase(); Cursor cursor = database.query( BookInfo.TABLE_NAME, new String[]{BookInfo.COLUMN_NAME_BOOK_ID}, BookInfo.COLUMN_NAME_BOOK_ID + " = ?", new String[]{userBookInfo.getBookId() + ""}, null, null, null); ContentValues initialValues = new ContentValues(); initialValues.put(UserBook.COLUMN_NAME_BOOK_ID, userBookInfo.getBookId()); initialValues.put(UserBook.COLUMN_NAME_USER_ID, userBookInfo.getUserId()); initialValues.put(UserBook.COLUMN_NAME_READABLE, userBookInfo.getReadable()); initialValues.put(UserBook.COLUMN_NAME_STARS_COUNT, userBookInfo.getStarsCount()); initialValues.put(UserBook.COLUMN_NAME_TIME_LENGTH, userBookInfo.getTimeLength()); long result = 0; try { if (cursor != null && cursor.getCount() > 0) { //更新操作 result = database.update(UserBook.TABLE_NAME, initialValues, UserBook.COLUMN_NAME_BOOK_ID + " = ?", new String[]{userBookInfo.getBookId() + ""}); }else{ //插入操作 result = database.insert(UserBook.TABLE_NAME, null, initialValues); } } catch (Exception e) { } finally{ if (null != cursor) { cursor.close(); } closeDatabase(); } return result > 0; }
相关文章推荐
- C#使用SqlBulkCopy将DataTable写入数据库的表中(表不存在则创建新表,数据存在则更新,不存在则插入)
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS(SQL Server Integration Service)处理导入数据时, 存在的更新, 不存在的插入
- java操作数据库 存在就更新不存在就插入的优化操作
- (转)SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- mysql学习总结一当数据不存在的时候插入,存在的时候进行更新,删除重复数据
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- SSIS处理导入数据时, 存在的更新, 不存在的插入
- MYSQL 数据表中行存在时更新,不存在时插入的SQL语句
- Mysql 如果数据存在则更新,不存在则插入