public boolean UpdateBook(DBHelper dbHelper,String id,String ISBN,String bookname,String author,String press,String publicationtime, String categoty,String synopsis,int inventory,int page){ SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("ISBN",ISBN); values.put("bookname",bookname); values.put("author",author); values.put("press",press); values.put("publicationtime",publicationtime); values.put("category",categoty); values.put("synopsis",synopsis); values.put("inventory",inventory); values.put("page",page); int flag = db.update("book",values,"id = ?",new String[]{id}); boolean result; if (flag == -1){ result = false; }else { result = true; } db.close(); return result; } //图书搜索功能 public ArrayList<Book> SearchBook(DBHelper dbHelper,String searcher){ SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.query("book",new String[]{"id","bookname","author","inventory"}, "bookname like ? or author like ?",new String[]{"%"+searcher+"%","%"+searcher+"%"}, null,null,null); ArrayList<Book> list = new ArrayList<>(); if (cursor != null && cursor.getCount() > 0){ while (cursor.moveToNext()){ String bid = cursor.getString(cursor.getColumnIndex("id")); String bookname = cursor.getString(cursor.getColumnIndex("bookname")); String author = cursor.getString(cursor.getColumnIndex("author")); int inventory = cursor.getInt(cursor.getColumnIndex("inventory")); Book book = new Book(bid,bookname,author,inventory,2); list.add(book); } } db.close(); return list; }public ArrayList<Book> SearchCollection(DBHelper dbHelper,String searcher){ SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.rawQuery("select * from book where id in ("+searcher+")",null); ArrayList<Book> list = new ArrayList<>(); if (cursor != null && cursor.getCount() > 0){ while (cursor.moveToNext()){ String id = cursor.getString(cursor.getColumnIndex("id")); String bookname = cursor.getString(cursor.getColumnIndex("bookname")); String author = cursor.getString(cursor.getColumnIndex("author")); int inventory = cursor.getInt(cursor.getColumnIndex("inventory")); Book book = new Book(id,bookname,author,inventory,2); list.add(book); } } db.close(); return list; }解释每一行代码
时间: 2024-03-31 15:32:28 浏览: 175
这段代码是一个包含两个方法的 Java 类。第一个方法是 `UpdateBook()`,它接受一个 `DBHelper` 对象和一些书籍信息作为参数,并将其更新到数据库中的 `book` 表中。具体来说,该方法首先获取可写的数据库对象以便修改数据。然后,使用 `ContentValues` 对象将书籍信息插入到数据库中。接着,使用 `db.update()` 方法更新 `book` 表中的记录,其中 `"id = ?"` 表示使用 `id` 参数指定的记录进行更新。最后,该方法返回一个布尔值,指示是否成功更新了数据库中的记录。
第二个方法是 `SearchBook()`,它接受一个 `DBHelper` 对象和一个搜索字符串作为参数,并在数据库的 `book` 表中搜索与搜索字符串匹配的记录。具体来说,该方法首先获取可写的数据库对象以便查询数据。然后,使用 `db.query()` 方法查询 `book` 表中符合条件的记录,并将查询结果存入 `Cursor` 对象中。接着,该方法将查询结果转换为 `Book` 对象,并添加到一个 `ArrayList` 中。最后,该方法返回一个包含所有符合条件的 `Book` 对象的 `ArrayList`。
第三个方法是 `SearchCollection()`,它接受一个 `DBHelper` 对象和一个搜索字符串作为参数,并在数据库的 `book` 表中搜索与搜索字符串匹配的记录的集合。具体来说,该方法首先获取可写的数据库对象以便查询数据。然后,使用 `db.rawQuery()` 方法查询 `book` 表中符合条件的记录,并将查询结果存入 `Cursor` 对象中。接着,该方法将查询结果转换为 `Book` 对象,并添加到一个 `ArrayList` 中。最后,该方法返回一个包含所有符合条件的 `Book` 对象的 `ArrayList`。
阅读全文