Sqlite3 kodu hata vermiyor fakat veriler veritabanında gözükmüyor

Arkadaşlar merhaba,

import sqlite3 as sql

db = sql.connect("bilgiler.db")

cur = db.cursor()

cur.execute("INSERT INTO StokBilgiler VALUES ('Ucuz pantolon uygun fiyat', 1, 50, 20, 1)")

Kodu çalıştırıyorum, hata vermeden kendi kendine çalışıyor ve kapatıyor. Ama verileri kaydetmiyor.


Ekran Alıntısı

Para birimini INTEGER yapmamın nedeni, şu şekilde yapacak olmam:

0 => TL
1 => EUR
2 => USD

şeklinde çevirecek olmam. O yüzden kayıt ederken, koda sayı yazdım. Urun kategorisi de aynı şekilde, sayıyı kategoriye çevireceğim.

Hatam nerede? Şimdiden teşekkürler.

Merhaba kodunuz olduğu gibi çalışmıyor, ben de bu veritabanı işlerinden pek anlamıyorum ama asıl sorun verileri gerçekten işlemediğinizden, “commit” etmediğinizden kaynaklanıyor olabilir mi?

db.commit()

Şurada diyor ki

… kodları çalıştırdıktan sonra, eğer veritabanının içeriğini Sqlitebrowser ile kontrol ettiyseniz verilerin veritabanına işlenmediğini göreceksiniz. Endişe etmeyin; birazdan bunun neden böyle olduğunu açıklayacağız.

Sonra da açıklıyorlar sağolsunlar :d Bir de buna ek olarak programlarken açtığımızı bir zaman sonra kapatmak gerekiyor. Buna normal/süslü/köşeli parantezler, tek/çift/üçlü tırnaklar dahil olduğu gibi dosya ve veritabanı bağlantıları da dahildir. Dolayısıyla (linkteki yazıda da belirtildiği üzere) programınızın uygun bir yerine şunu da eklemek isteyebilirsiniz:

db.close()
3 Beğeni

Evet commit eklemediğimden olmuş. Çözüldü, teşekkürler :slight_smile: