public class BorrowTableHelper { //新增借阅信息 public boolean AddBorrow(DBHelper dbHelper, Borrow borrow){ SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("botime",borrow.getBotime()); values.put("bookid",borrow.getBookid()); values.put("userid",borrow.getUserid()); values.put("bostate",borrow.getBostate()); long id = db.insert("borrow",null,values); db.close(); boolean flag; if (id != -1){ flag = true; }else { flag = false; } return flag; } //查询借阅记录 public ArrayList<Borrow> ShowBorrow(DBHelper dbHelper,String uid){ SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.rawQuery("select * from borrow where userid = ? order by boid desc",new String[]{uid}); ArrayList<Borrow> list = new ArrayList<>(); if (cursor != null && cursor.getCount() > 0){ while (cursor.moveToNext()){ String bookid = cursor.getString(cursor.getColumnIndex("bookid")); String botime = cursor.getString(cursor.getColumnIndex("botime")); int bostate = cursor.getInt(cursor.getColumnIndex("bostate")); String backtime = cursor.getString(cursor.getColumnIndex("backtime")); String reviewer = cursor.getString(cursor.getColumnIndex("reviewer")); Borrow borrow = new Borrow(botime,bookid,bostate,backtime,reviewer); list.add(borrow); } } db.close(); return list; }解释每一行代码
时间: 2024-02-14 21:20:15 浏览: 87
这段代码是一个帮助类,名为BorrowTableHelper,其中包含了两个方法,分别是AddBorrow和ShowBorrow,用于新增借阅信息和查询借阅记录。现在对这两个方法逐行进行解释:
1. `public boolean AddBorrow(DBHelper dbHelper, Borrow borrow){`
这是AddBorrow方法的开始,它有两个参数,一个是DBHelper类型的dbHelper,表示用于操作数据库的帮助类;另一个是Borrow类型的borrow,表示要新增的借阅信息。
2. `SQLiteDatabase db = dbHelper.getWritableDatabase();`
创建一个SQLiteDatabase类型的对象db,通过调用dbHelper的getWritableDatabase()方法获取可写的数据库对象。
3. `ContentValues values = new ContentValues();`
创建一个ContentValues类型的对象values,用于存放新增的借阅信息。
4. `values.put("botime",borrow.getBotime());`
将借阅时间(botime)、书籍ID(bookid)、用户ID(userid)、借阅状态(bostate)等信息放入values中。
5. `long id = db.insert("borrow",null,values);`
将values中的信息插入到“borrow”表中,并返回插入数据的行号id。
6. `db.close();`
关闭数据库连接。
7. `boolean flag;`
创建一个boolean类型的变量flag,用于存放新增借阅信息的结果。
8. `if (id != -1){ flag = true; }else { flag = false; }`
判断插入数据的行号id是否为-1,如果不是则说明插入成功,将flag设置为true,否则设置为false。
9. `return flag;`
返回新增借阅信息的结果。
10. `public ArrayList<Borrow> ShowBorrow(DBHelper dbHelper,String uid){`
这是ShowBorrow方法的开始,它有两个参数,一个是DBHelper类型的dbHelper,表示用于操作数据库的帮助类;另一个是String类型的uid,表示要查询的用户ID。
11. `SQLiteDatabase db = dbHelper.getWritableDatabase();`
创建一个SQLiteDatabase类型的对象db,通过调用dbHelper的getWritableDatabase()方法获取可写的数据库对象。
12. `Cursor cursor = db.rawQuery("select * from borrow where userid = ? order by boid desc",new String[]{uid});`
创建一个Cursor类型的对象cursor,执行SQL查询语句“select * from borrow where userid = ? order by boid desc”,并传入查询参数uid,将查询结果放入cursor中。
13. `ArrayList<Borrow> list = new ArrayList<>();`
创建一个ArrayList类型的对象list,用于存放查询结果。
14. `if (cursor != null && cursor.getCount() > 0){`
判断查询结果是否为空且查询结果的行数是否大于0。
15. `while (cursor.moveToNext()){`
循环遍历查询结果。
16. `String bookid = cursor.getString(cursor.getColumnIndex("bookid"));`
从查询结果中获取书籍ID。
17. `String botime = cursor.getString(cursor.getColumnIndex("botime"));`
从查询结果中获取借阅时间。
18. `int bostate = cursor.getInt(cursor.getColumnIndex("bostate"));`
从查询结果中获取借阅状态。
19. `String backtime = cursor.getString(cursor.getColumnIndex("backtime"));`
从查询结果中获取归还时间。
20. `String reviewer = cursor.getString(cursor.getColumnIndex("reviewer"));`
从查询结果中获取审核人。
21. `Borrow borrow = new Borrow(botime,bookid,bostate,backtime,reviewer);`
创建一个Borrow类型的对象borrow,将获取到的借阅信息作为参数传入。
22. `list.add(borrow);`
将borrow对象添加到list中。
23. `db.close();`
关闭数据库连接。
24. `return list;`
返回查询结果。
阅读全文