Python sql sorgu

 def sql_baglanti(self,sira,parametre=()):
            con=ps.connect('dbname= user= host= password=')
            cursor=con.cursor()
            sira_sonuc=cursor.execute(sira,parametre)
            con.commit()
            return sira_sonuc
    def ilce_cakim_sayi(self):
        sira='select count(*) from kapi_evw where tabela_durumu=2 and ilcekn=?'
        parametre=self.ilcekn_giris.get()
        ilcekn_toplam=print(self.sql_baglanti(sira,parametre))
        self.ilcekn_sonuc_giris.insert(0,ilcekn_toplam)


Merhaba arkada┼člar sql sorgum sonucunda hata al─▒yorum.Niye olabilir?(Not user hostÔÇÖlar─▒ bilerek bo┼č b─▒rakt─▒m)
Ads%C4%B1z

ilcekn=?'yi niye b├Âyle yazd─▒n─▒z ki? Soru i┼čareti yerinde bir say─▒ ya da karakter dizisi olmas─▒ gerekmiyor mu? B├Âyle olunca =? bir operat├Âr san─▒l─▒yor.

(?),(deger)ÔÇŽ┼čeklinde yaz─▒m olursa python deger k─▒sm─▒ndaki ifadeyi al─▒p ? yerine koyuyor

Sizin ba┼čka ├Âneriniz varsa onu da alabilirim

= ? birtane bosluk vermeyi denediniz mi?

ayn─▒ hatay─▒ al─▒yorum tekrarÔÇŽyapmak istedi─čim ┼čey sadece entryÔÇÖden al─▒nan de─čeri ilceknÔÇÖdeki k─▒sma yazd─▒rmak

PostgreSQLÔÇÖde SQLiteÔÇÖtaki gibi ? kullanam─▒yor olabiliriz. ┼×uradaki yolu bir deneyin: https://stackoverflow.com/a/29887236/1583714
E─čer olmazsa PythonÔÇÖ─▒n bi├žimlendirme (format) ├Âzelliklerini kullanmay─▒ deneyin. Hem b├Âylece veritaban─▒ uyarlay─▒c─▒s─▒ndan (adapt├Âr) ba─č─▒ms─▒z ┼čekilde SQL sorgusu olu┼čturabilirsiniz.

malesef hala hata al─▒yorum

parametre=self.ilcekn_giris.get()
sira='select count(*) from kapi_evw where tabela_durumu=2 and ilcekn={}'.format(parametre)

@ismailarilikÔÇÖ─▒n da dedi─či gibi, bu kod hata veriyor mu?

ilcekn=(?)' ----parantez i├žine almay─▒ dene 
def sql_baglanti(self,sira,parametre=()):
            con=ps.connect('dbname= user= host= password=')
            cursor=con.cursor()
            sira_sonuc=cursor.execute(sira,parametre)
            con.commit()
            return sira_sonuc
    def ilce_cakim_sayi(self):
        sira='select count(*) from kapi_evw where tabela_durumu=2 and ilcekn=(?)'
        parametre=self.ilcekn_giris.get()
        ilcekn_toplam=print(self.sql_baglanti(sira,parametre))
        self.ilcekn_sonuc_giris.insert(0,ilcekn_toplam)

    def sql_baglanti(self,sira,parametre=()):
        con=ps.connect('dbname=mekandb user=mekan host=213.159.30.209 password=Mkn123db')
        cursor=con.cursor()
        cursor.execute(sira,parametre)
        sira_sonuc=cursor.fetchall()
        con.commit()
        return sira_sonuc
    def ilce_cakim_sayi(self):
        self.ilcekn_sonuc_giris.delete(0,END)
        sira='select count(*) from kapi_evw where tabela_durumu=2 and ilcekn=%s;'
        parametre=self.ilcekn_giris.get()
        ilcekn_toplam=self.sql_baglanti(sira,(parametre,))
        self.ilcekn_sonuc_giris.insert(END,str(ilcekn_toplam))

Ads%C4%B1z

lakin ├ž─▒kan de─čer bu ┼čekildeÔÇŽparantez olmadan nas─▒l getirebilrim

%s'yi de─čil de @smhgkÔÇÖnin de dedi─či gibi format metodunu kullanmay─▒ deneyin.


self.ilcekn_sonuc_giris.delete(0,END)
        sira='select count(*) from kapi_evw where tabela_durumu=2 and ilcekn=%s;'
        parametre=self.ilcekn_giris.get()
        ilcekn_toplam=self.sql_baglanti(sira,(parametre, ))
        self.ilcekn_sonuc_giris.insert(0,ilcekn_toplam[0])

Bu ┼čekilde ├ž├Âzd├╝m te┼čekk├╝r ederim:)

2 Be─čeni