Spaces:
Runtime error
Runtime error
File size: 690 Bytes
1914b78 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import sqlite3
def execute_query(db_path: str, query: str):
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
try:
cursor.execute(query)
# cursor.description is None for non-SELECT or empty results
if cursor.description is None:
conn.close()
return []
columns = [desc[0] for desc in cursor.description]
rows = cursor.fetchall()
conn.close()
return [dict(zip(columns, row)) for row in rows]
except sqlite3.OperationalError as e:
conn.close()
raise ValueError(f"SQL execution failed: {e}\nQuery: {query}")
except Exception as e:
conn.close()
raise e |