من با یک تابع نوشتم که :
با sqlite در پایتون یک چیزی رو به تیبلم ادد کنه و بعد با conn.ommit اون سیو کنه و بعد هم با conn.close اون رو میبندم ولی بسته نمیشه
کسی اگر میتونه کمک کنه؟؟
# python
import sqlite3 as db
from datetime import datetime
from sqlite3.dbapi2 import connect
conn = db.connect('spent.db')
c = conn.cursor()
def init():
c.execute('''CREATE TABLE IF NOT EXISTS expenses (
amount REAL,
category TEXT COLLATE NOCASE,
message TEXT,
date TEXT
)''')
conn.commit()
conn.close()
def add(amount , category , message = ''):
# add new items to database
date = str(datetime.now().strftime('%Y - %m - %d | %H:%M'))
c.execute('INSERT INTO expenses VALUES (:amount , :category , :message , :date)' , {'amount' : amount , 'category' : category , 'message' : message , 'date' : date})
conn.commit()
conn.close()
def show(category = None):
# show the all data in database
if category:
c.execute('SELECT * FROM expenses WHERE category = (:category )' , {'category' : category})
resulte = c.fetchall()
c.execute('SELECT sum(amount) FROM expenses WHERE category = (:category )' , {'category' : category})
total_amount = c.fetchone()[0]
else :
c.execute('SELECT * FROM expenses')
resulte = c.fetchall
c.execute('SELECT sum(amount) FROM expenses')
total_amount = c.fetchone()[0]
conn.close()
return total_amount , resulte
ارور که میگه "نمی توانید تغییری روی دیتابیس بسته شده انجام دهید"
احتمالا اول بستید بعد سعی کردید اد کنید
نه من به تابع گفتم که یک چنتا ولیو بگیره و اونا رو بریزه تو تیبل و بعد کامیت کنه و بعد کلوز
# python
import sqlite3 as db
from datetime import datetime
from sqlite3.dbapi2 import connect
conn = db.connect('spent.db')
c = conn.cursor()
def init():
c.execute('''CREATE TABLE IF NOT EXISTS expenses (
amount REAL,
category TEXT COLLATE NOCASE,
message TEXT,
date TEXT
)''')
conn.commit()
conn.close()
def add(amount , category , message = ''):
# add new items to database
date = str(datetime.now().strftime('%Y - %m - %d | %H:%M'))
c.execute('INSERT INTO expenses VALUES (:amount , :category , :message , :date)' , {'amount' : amount , 'category' : category , 'message' : message , 'date' : date})
conn.commit()
conn.close()
def show(category = None):
# show the all data in database
if category:
c.execute('SELECT * FROM expenses WHERE category = (:category )' , {'category' : category})
resulte = c.fetchall()
c.execute('SELECT sum(amount) FROM expenses WHERE category = (:category )' , {'category' : category})
total_amount = c.fetchone()[0]
else :
c.execute('SELECT * FROM expenses')
resulte = c.fetchall
c.execute('SELECT sum(amount) FROM expenses')
total_amount = c.fetchone()[0]
conn.close()
return total_amount , resulte
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟