PyQT5 Tablodaki verileri Sqlite3'e ayrı ayrı ekleme

Arkadaşlar merhaba.

Mesela ben yukarıdaki gibi bir tablo yaptığımda, o tablodaki veri Sqlite3’e yazdırmak istiyorum. Tabloya eklemede, “Onayla” butonuna basınca çalıştırmasında vb. problem yok. Ama hepsini nasıl farklı satır olarak Sqlite3’e kaydedeceğim, hiçbir fikrim yok.

Mesela üstteki resimdeki 3 tane ürün satırı var. Ben bunu Sqlite3 veri tablosuna, aynen yukarıdaki gibi 3 tanesini ayrı şekilde yazdırmak istiyorum.

Tabloya 6 tane ürün eklenirse, 6’sını da farklı satırlara eklemek istiyorum. Anlatabilmişimdir umarım demek istediğimi.

Şimdiden teşekkürler.

def onayla(self):

        secilenRow = self.arayuz.satisVeKasa_alisverisListesiListBox.currentRow()

        barkod = self.arayuz.satisVeKasa_alisverisListesiListBox.item(secilenRow, 0).text()

        urunAdi = self.arayuz.satisVeKasa_alisverisListesiListBox.item(secilenRow, 1).text()

        urunMarkasi = self.arayuz.satisVeKasa_alisverisListesiListBox.item(secilenRow, 2).text()

        kategori = self.arayuz.satisVeKasa_alisverisListesiListBox.item(secilenRow, 3).text()

        urunAdetGram = self.arayuz.satisVeKasa_alisverisListesiListBox.item(secilenRow, 4).text()

        urunFiyat = self.arayuz.satisVeKasa_alisverisListesiListBox.item(secilenRow, 5).text()

       

        an = datetime.datetime.now()

        tarih = datetime.datetime.strftime(an, '%d %B %Y')

       

        dbcur.execute("INSERT INTO gecmisAlisverisler VALUES(?, ?, ?, ?, ?, ?, ?)", (barkod, urunAdi, urunMarkasi, kategori, urunAdetGram, urunFiyat, tarih))

        database.commit()

        dbcur.close()

        database.close()

       

        print("Kaydedildi")

Arkadaşlar böyle bir şey denedim ama hata alıyorum:

        secilenRow = self.arayuz.satisVeKasa_alisverisListesiListBox.currentRow()

        for row, col in secilenRow:
            row = 0
            col = 0
            itemText = self.arayuz.satisVeKasa_alisverisListesiListBox.item(row, col).text()
            print(barkod)
            row=+
            col=+
Traceback (most recent call last):
  File "c:\Users\emiry\Desktop\Stok takip yaz²l²m²\index.py", line 114, in onayla
    for row, col in secilenRow:
TypeError: 'int' object is not iterable

Öncelikle bu değişken ismi yanlış, ya sanke_case yap ya da camelCase
bir de çok uzun Tablewidget olmasına rağmen ListBox demişsin sonuna, bunun adı alisverisTable olabilir

def sorgu_olustur(table, currentrow):
    suton_sayisi = 8
    sorgu = "INSERT INTO gecmisAlisverisler VALUES("
    for i in range(suton_sayisi ):
        sorgu= sorgu + table.item(currentrow, i).text()
        if(i < 7)
            sorgu =sorgu+","
        else
            sorgu = sorgu + ")"
    return sorgu
    
 


1 Beğeni

Açık söylemek gerekirse koddan hiçbir şey anlamadım.