DatabaseManager.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import sqlite3
  2. class DatabaseManager:
  3. def __init__(self):
  4. """初始化数据库管理器并创建数据库连接"""
  5. self.db_name = "database.db"
  6. self.conn = sqlite3.connect(self.db_name)
  7. def execute_query(self, query, params=()):
  8. """执行SQL查询"""
  9. cursor = self.conn.cursor()
  10. cursor.execute(query, params)
  11. self.conn.commit()
  12. return cursor
  13. def insert_command(self, action_name, action_type, action_keyword, action_content):
  14. """插入一条新的指令到数据库"""
  15. query = '''
  16. INSERT INTO file_commands (action_name, action_type, action_keyword, action_content) VALUES (?, ?, ?, ?);
  17. '''
  18. self.execute_query(query, (action_name, action_type, action_keyword, action_content))
  19. def update_command(self, action_name, action_type, action_keyword, action_content, action_id):
  20. """插入一条新的指令到数据库"""
  21. query = '''
  22. UPDATE file_commands set action_name=?, action_type=?, action_keyword=?, action_content=? where id=?;
  23. '''
  24. self.execute_query(query, (action_name, action_type, action_keyword, action_content, action_id))
  25. def fetch_all_commands(self):
  26. """获取数据库中所有的指令"""
  27. query = 'SELECT * FROM file_commands;'
  28. cursor = self.execute_query(query)
  29. return cursor.fetchall()
  30. def delete_command(self, command_id):
  31. """根据ID删除一条指令"""
  32. query = 'DELETE FROM file_commands WHERE id = ?;'
  33. self.execute_query(query, (command_id,))
  34. def __del__(self):
  35. """确保关闭数据库连接"""
  36. self.conn.close()
  37. if __name__ == '__main__':
  38. db = DatabaseManager()
  39. commands = db.fetch_all_commands()
  40. print(commands)
  41. db.__del__()