| 16 | |
| 17 | |
| 18 | class DbTool: |
| 19 | def __init__(self): |
| 20 | self.db = sqlite3.connect('QuestionBank.db') |
| 21 | self.c = self.db.cursor() |
| 22 | |
| 23 | def close(self): |
| 24 | """ |
| 25 | 关闭数据库 |
| 26 | """ |
| 27 | self.c.close() |
| 28 | self.db.close() |
| 29 | |
| 30 | def execute(self, sql, param=None): |
| 31 | """ |
| 32 | 执行数据库的增、删、改 |
| 33 | sql:sql语句 |
| 34 | param:数据,可以是list或tuple,亦可是None |
| 35 | retutn:成功返回True |
| 36 | """ |
| 37 | # print('sql=', sql, 'param=', param) |
| 38 | try: |
| 39 | if param is None: |
| 40 | self.c.execute(sql) |
| 41 | else: |
| 42 | if type(param) is list: |
| 43 | self.c.executemany(sql, param) |
| 44 | else: |
| 45 | self.c.execute(sql, param) |
| 46 | count = self.db.total_changes |
| 47 | self.db.commit() |
| 48 | except Exception as e: |
| 49 | print('Exception:', e) |
| 50 | return False |
| 51 | if count > 0: |
| 52 | return True |
| 53 | else: |
| 54 | print('删除了0行') |
| 55 | return False |
| 56 | |
| 57 | def query(self, sql, param=None): |
| 58 | """ |
| 59 | 查询语句 |
| 60 | sql:sql语句 |
| 61 | param:参数,可为None |
| 62 | retutn:成功返回True |
| 63 | """ |
| 64 | # print('sql=', sql, 'param=', param) |
| 65 | if param is None: |
| 66 | self.c.execute(sql) |
| 67 | else: |
| 68 | self.c.execute(sql, param) |
| 69 | return self.c.fetchall() |
| 70 | |
| 71 | def search(keyword='', tableName='tiku', page=1, rows=10): |
| 72 | limit = (page - 1) * rows |