[Linux-programlama] ProgrammingError: Incorrect number of bindings supplied.

---------

[Linux-programlama] ProgrammingError: Incorrect number of bindings supplied.

From: H.Ibrahim Yilmaz <ibrahim.yilmaz_at_opengeomap.org>
Date: Mon, 26 May 2008 00:22:17 +0300
Message-ID: <b6710fe10805251422t5492a625w33eafe121f739f53@mail.gmail.com>

Merhaba, yeni bir soruyla karþýnýzdayým :))
Aþaðýdaki kodda bul=cursor.execute('SELECT * FROM areas WHERE
(area=?)', (a,)) olan alaný bul=cursor.execute('SELECT * FROM areas
WHERE (area=?)', (a)) þeklinde yaparsam ProgrammingError: Incorrect
number of bindings supplied. hatasý alýyorum. Yapmak istediðim
esasýnda çok basit bir þey. areas tablosuna veri kaydedilmeden önce
daha önce ayný veriden kaydedilmiþ mi diye bakmasýný eðer
kaydedilmiþse uyarý vermesini istiyorum. bul=cursor.execute('SELECT *
FROM areas WHERE (area=?)', (a,)) þeklinde yaptýðým takdirde sanki
girdiðim bütün sayýlar önceden kaydedilmiþ gibi hata çýktýsýný
alýyorum... Nasýl bir çözüm önerebilirsiniz? php ve mysql ile
mysql_fetch_row() gibi bir fonksiyonla bunu kontrol edebiliyorduk
yanlýþ hatýrlamýyorsam... ancak sqlite+python olunca iþler karýþýyor
:) Þimdiden teþekkürler.

#!/usr/bin/python
#-*-coding=utf-8-*-
from Tkinter import *
from tkMessageBox import *
import sqlite3
def kaydet():

    a=alane.get()
    connection=sqlite3.connect('datasapiens.db')
    cursor = connection.cursor()
    bul=cursor.execute('SELECT * FROM areas WHERE (area=?)', (a,))
    if bul > 0:
        showinfo ('Tamam',"Bu alan daha önceden kaydedilmiþ!!")
    else:
        cursor.execute('INSERT INTO areas VALUES (?, null)', (a))
        connection.commit()
        showinfo ('Tamam',"Kayýt Tamamlandý.")
            connection.close()
pencere = Tk()
pencere.geometry("300x300+15+100")
etiket= Label(text="Alan Kayýt Formu")
etiket.pack()
pencere.title("Data Sapiens")
pencere.resizable(width=FALSE, height=FALSE)

alan=Label(text="Alan:")
alan.place(relx=0.01,rely=0.2)
kaydetb=Button(text="Kaydet",command=kaydet)
kaydetb.place(relx=0.01,rely=0.3)
cik=Button(text="Çýkýþ",command=sys.exit)
cik.place(relx=0.25,rely=0.3)

alane=Entry(width=10)
alane.place(relx=0.4,rely=0.2)

mainloop()

-- 
http://www.arkeoloji.web.tr
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Sun 25 May 2008 - 23:52:45 EEST

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.