Pyhton3 sqlite veritabanı

Merhabalar.Phthon3 sqlite veritabanında şu hata ile karşılaşıyorum:
sqlite3.OperationalError: no such column: isim

kodlarım şunlar:
def sarkisil(self,isim):

    sorgu = "Delete from SARKİLİSTESİ where isim = ? "

    self.cursor.execute(sorgu,isim)
    self.baglanti.commit()

Nerede hata yapıyorum acaba ??
teşekkürler

Merhaba.
Hata isim adında bir sütun bulunmadığı için çıkıyor.

MERHABALAR.HATAYI DÜNDEN BERİ ÇÖZMEYE ÇALIŞIYORUM AMA BECEREMEDİM
KODUM ŞU:
import sqlite3

import time

class Sarki():

def __init__(self,isim,sanatci,album,sirket,sure):

    self.isim = isim
    self.sanatci = sanatci
    self.album = album
    self.sirket = sirket
    self.sure = sure

def __str__(self):
    return "Şarkı ismi: {}\nSanatçı ismi: {}\nAlbüm: {}\nŞirket ismi: {}\nŞarkı Süresi :{}\n".format(self.isim,self.sanatci,self.album,self.sirket,self.sure)

class Sarkilistesi():

def __init__(self):
    self.baglantiolustur()
def baglantiolustur(self):

    self.baglanti = sqlite3.connect("Sarkilistesi.db")

    self.cursor = self.baglanti.cursor()

    sorgu = "CREATE TABLE IF NOT EXISTS SARKİLİSTESİ (İsim TEXT,Sanatçı TEXT,Albüm TEXT,Şirket TEXT,Süre INT)"

    self.cursor.execute(sorgu)

    self.baglanti.commit()
def baglantiyikes(self):

    self.baglanti.close()
def sarkilari_goster(self):

    sorgu = "Select * from SARKİLİSTESİ "
    self.cursor.execute(sorgu)
    sarkilar = self.cursor.fetchall()

    for i in sarkilar:

        sarki = Sarki(i[0],i[1],i[2],i[3],i[4])
        print(sarki)
def sarki_sorgula(self,isim):

    sorgu = "Select * From SARKİLİSTESİ where isim = ?"

    self.cursor.execute(sorgu,(isim,))

    Sarkilistesi = self.cursor.fetchall()



def sarkiekle(self,sarki):
    sorgu = "Insert into SARKİLİSTESİ values(?,?,?,?,?)"
    self.cursor.execute(sorgu,(sarki.isim,sarki.sanatci,sarki.album,sarki.sirket,sarki.sure))
    self.baglanti.commit()

def sarkisil(self,isim):

    sorgu = "Delete from SARKİLİSTESİ where isim = ? "

    self.cursor.execute(sorgu,isim,)
    self.baglanti.commit()

ŞARKI EKLE FONKSİYONUNU KULLANIRKEN SORUN YAŞAMIYORUM AMA ŞARKI SİLME VE SORGULAMADA HATA VERİYOR.SİZCE NEREDE HATAM VAR ACABA??

KODU IKI ``` SATIRI ARASINA ALARAK PAYLAS.

SQL VE DIGER YERLERDE KULLANDIGIN ISIMLER TURKCE HARF ICERMESIN VE KUCUK HARF OLSUNLAR. ILLA BUYUK VEYA ASCII OLMAYAN KARAKTERLER ICERECEK DIYORSAN SQL’DE " ARASINA AL. ELiN DEGMISKEN INSANLARA YAZDIGIN HARFLERI DE KUCULT.

Sql de biraz gıcıktır. Bakayım kodlara da anlarmıyım bilmem.

Normalde bu hata isim adında bir sütun bulunmadığını belirtir. Ancak kimi zaman programlar gıcıklık yapıyor ve böyle sorunlar ortaya çıkıyor. Sqlite browser adında bir program var. Sql dosyasının içeriğini görebilirsiniz. Eğer kullanmıyorsanız deneyin, belki işinize yarar. En azından değerleri tablo olarak görürsünüz.

Hoşgeldiniz.

Sorun, @aib’in de dediği gibi SQL dahil pek çok dilin büyük ve küçük harfleri ayrı birer karakter olarak değerlendirmesi ve sizin buna dikkat etmemeniz. Tabloyu oluştururken “İsim” kullanırken “isim” yazmanız bu hataya sebep olmuştur diye tahmin ediyorum.

Ve evet, lütfen BAĞIRMAYIN. :slight_smile:


Ortada anormal bir durum yok ki.

Programlar “gıcıklık” yapmaz, o programı yazan programcılar dikkatsizlik yapar.

SQLite Browser’ın Türkçe desteği olması dışında bir avantajını görmedim. Ben SQLite Studio’yu tavsiye ederim, grafik arayüzü çok daha pratik.