Python sqlite - Veritabanından Entry'den alınmış veriye göre veri çekmek

Merhaba arkadaşlar,

Kısaca öğrenmek istediğim şeyi anlatayım. Mesela sqlite database’e ad soyad ve telefon numarası girmiş olalım. Daha sonra bende tkinter entry boxa ismi girdiğimde bu ada ait ne kadar ad varsa ad soyad ve telefon numarasını tkinter listboxa yazsın. Buna basit bir örnek verebilirmisiniz?

şimdi ilk başta sql serverin olması gerekiyor sql servere bağlanacaksın ve kullanıcıdan isim soyisim v.s bilgileri istiyeceksin ve kullanıcı emre ismini girdi diyelim senin aldığın girdi emreye eşitse zaten sen emrenin değerlerini emre adlı bir tablo oluşturup girersin bunları yaptıktan sonra telefon v.s değerlerini bastıracaksın tabi nasıl bastıracaksın emrenin değerlerini databaseden çekebilirsin (emre tablosunu) telefondan yazıyorum yazmasam pc başında olsam ufak bir örnek verirdim

Emre tablosu fazla özel sanki. Kişiler tablosu yeterli olmalı.

Doğru söylüyorsunuz hocam kişiler tablosu yeterli olur aslında :slight_smile:

tkinter entry box’a yazilan ismi almayi mi soruyorsun, SQLite’ta kullanman gereken semayi mi, bu semaya nasil veri girecegini ve sorgulayacagini mi, yoksa tkinter listboxa isim/soyad/telefon yazmayi mi?

Merhaba, Sqlite3 databasedeki verileri tkinterda bir entry boxa girdigim veriye gore sorgulamak istiyorum.

Databasede Ad Soyad Telefon numarasi olsun

Ali Veli 12345 gibi

Ben tkinterda bir kutucuk olusturup bu kutucuga ali yazdigim zaman search dedigimde databaseden listboxa Ali Veli 12345 verisini yazsin istiyorum. Yani arattiracagim veriyi ben kendim girip databaseden arattirmak istedigim veriyi ceksin yani baska ali isminde kisi varsa farkli soyadlarda hepsini ceksin istiyorum. Aslinda cep telefonunda nasil telefon defterinde veri aratiyorsak ayni mantik farki sqlite 3 veritabani python tkinter ile bunu yapmak istiyorum.

Saniyorum dogru ifade edemedim istedigimi umarim su anda anlasilir hale gelmistir.

Tesekkur ederim.

Gelmedi, cunku ben soruyu 4 ayri parcaya bolup bu parcalardan hangileri ile ilgili yardim gerektigini sordum. Sen ise parcalarin arasinda olmasini istedigin iliskiden bahsettin. Hala hangi parcalari yazdin, hangileri eksik bilmiyoruz.

Merhabalar aşağıdaki gibi yaparsan print(i) yerine göstermek istediğin Label 'ı da ekleyebilirsin istersen
kod örneği aşağıdaki gibi umarım yardımcı olabilmişimdir.
Not: Kendi klasöründe rehberim adlı bir veritabanı oluşturdum ve içerisinde 2 adet kayıt ekleyerek denedim çalışıyor.
Tuple olarak döndürüyor tuple ı istediğin yere yazdırabilirsin.

iyi çalışmalar.

from tkinter import *
import sqlite3

baglan = sqlite3.connect(“rehber.db”)
veri = baglan.cursor()
veri.execute(“CREATE TABLE IF NOT EXISTS rehberim(ad VARCHAR, soyad VARCHAR, numara VARCHAR)”)

def bul():
for i in veri.execute(“SELECT * FROM rehberim”):
if i[0] == isim.get():
print(i)

pencere = Tk()
pencere.geometry(“200x200+450+150”)

giris = Label(pencere)
giris.config(text = “Aradığınız isim”)
giris.pack()

isim = Entry(pencere)
isim.pack()

buton = Button(pencere)
buton.config(text = “ismi getir”, command = bul)
buton.pack()

mainloop()

#/usr/bin/python
# - *- coding: utf- 8 - *-

from Tkinter import *
import sqlite3

baglan = sqlite3.connect('rehber')
veri = baglan.cursor()
veri.execute("""CREATE TABLE IF NOT EXISTS rehberim (ad VARCHAR, soyad VARCHAR, numara VARCHAR)""")

def bul(): 
	verit = veri.execute('SELECT * FROM rehberim')
	for i in verit :
		if i[0] == isim.get():
			print(i)

pencere = Tk()
pencere.geometry('200x200+450+150')

giris = Label(pencere)
giris.config(text = 'Aradığınız İsim')
giris.pack()

isim = Entry(pencere)
isim.pack()

buton = Button(pencere)
buton.config(text = 'İsmi Getir', command = bul)
buton.pack()

mainloop()

Python Tkinter Scriptiniz Şimdi Çalışıyor durumdadır buyrun