Rabu, 28 November 2018

Memanipulasi Database pada Tkinter Python part3


Selanjutnya kita akan membuat fungsi select untuk memilih data yang ada di treeview ke kolom-kolom input untuk kita sunting menjadi data yang baru. Tetapi sebelumnya mari kita buat Treeview.bind() untuk membuat aksi ketika data di double-clicked. Masukan tree.bind(‘<Double-Button-1>’, onSelected) ke dalam kode yang telah kita buat posisinya dibawah tree.grid. Di bawah ini merupakan kode untuk fungsi OnSelected().

def onSelected(event):
global ID;
curItem = tree.focus()
contents =(tree.item(curItem))
selecteditem = contents[‘values’]
ID = selecteditem[0]
clear()
name.set(selecteditem[1])
age.set(selecteditem[2])
address.set(selecteditem[3])
salary.set(selecteditem[4])

Silahkan eksekusi untuk mengecek apakah kode yang dimasukan benar. Doubled-click data yang akan dipilih. Bila semua data langsung tampil pada kolom-kolomnya. Selanjutnya buat fungsi update.

def update():
database()
if salary.get() == 0:
sta.config(text=”Please input salary”, foreground=”red”)
else:
tree.delete(*tree.get_children())
cursor.execute(“UPDATE `COMPANY` SET `NAME` = ?, `AGE` = ?, `ADDRESS` =?, `SALARY` = ? WHERE `ID` = ?”, (name.get(),age.get(),address.get(),salary.get(), int(ID)))
conn.commit()
read()
conn.close()
clear()
sta.config(text=”Successfully updated the data”, foreground=”black”)

Lalu tambahkan tombol Update dan tambahkan grid untuk posisinya denga kode ini.
bUpdate = ttk.Button(win, text=’Update’, command=update)

Selesai untuk aksi sunting pada Tkinter selanjutnya kita buat aksi remove untuk menghapus data yang sudah tersimpan di database.

Ini merupakan fungsi remove.

remove():
if not tree.selection():
sta.config(text=”Please select an item first”, foreground=”red”)
else:
result = tkMessageBox.askquestion(‘Manipulation Data Application Python’, ‘Are you sure you want to delete this record?’, icon=”warning”)
if result == ‘yes’:
curItem = tree.focus()
contents =(tree.item(curItem))
selecteditem = contents[‘values’]
tree.delete(curItem)
database()
cursor.execute(“DELETE FROM `COMPANY` WHERE `ID` = %d” % selecteditem[0])
conn.commit()
cursor.close()
conn.close()
sta.config(text=”Successfully deleted the data”, foreground=”black”)

Lalu buat tombol Remove dan posisikan di tempat yang bagus.
bRemove = ttk.Button(win, text=’Remove’, command=remove)

Jangan lupa untuk import tkMessageBox. dengan menempatkan import tkinter.messagebox as tkMessageBox pada import module dibagian atas. Untuk tambahan pencarian data pada big data bisa buat fungsi search dengan sql yang benar. Ini juga masih sangat bisa dikembangkan dengan scrool di Treeview. Bila berhsil maka kurang lebih tampilan applikasi anda akan seperti ini.

Note: Pada koneksi database yang lain tinggal modif variabel conn pada fungsi database yang sudah ada. Bila tidakmuncul tombonya jangan lupa buat grid pada tiap-tiap tombolnya.

.: GOOD LUCK :.

Tidak ada komentar:

Posting Komentar