連載4:pythonで利用者情報入力を作る
『 sqlite3からuser formに読み込み 』
sqlite3からtkinterで作成したユーザーフォームにデータを読み込みます
# -*- coding: utf-8 -*- import tkinter as tk import tkinter.ttk as ttk import sqlite3 import tkinter.messagebox as msg dbname = "aozora.db" c = sqlite3.connect(dbname) # """ リストボックスの選択を読み取る関数,その結果を入力ウィジェットに入れる""" def get_list(nanikanyuuryoku): cur = c.cursor() index = mylist.curselection()[0] user_id2 = (user_id[index], ) cur.execute('select * from user where id = ?', user_id2) user_id3 = cur.fetchone() entry1.delete(0,50) entry1.insert(0, user_id3[0]) entry2.delete(0,50) entry2.insert(0, user_id3[1]) entry3.delete(0,50) entry3.insert(0, user_id3[2]) entry4.delete(0,50) entry4.insert(0, user_id3[3]) entry5.delete(0,50) entry5.insert(0, user_id3[4]) entry14.delete(0,50) entry14.insert(0, user_id3[5]) entry18.delete(0,50) entry18.insert(0, user_id3[6][0:4]) entry19.delete(0,50) sql = """ SELECT * FROM user order by セイ """ user_id = [] for r in c.execute(sql): mylist.insert(tk.END,r[1] + " " + r[2]) user_id.append(r[0]) mylist.bind("<ButtonRelease-1>",get_list) root.mainloop() entry19.insert(0, user_id3[6][4:6]) entry20.delete(0,50) entry20.insert(0, user_id3[6][6:8]) entry8.delete(0,50) entry8.insert(0, user_id3[7]) entry9.delete(0,50) entry9.insert(0, user_id3[8]) #---------------------- 割愛 ------------------------# sql = """ SELECT * FROM user order by セイ """ user_id = [] for r in c.execute(sql): mylist.insert(tk.END,r[1] + " " + r[2]) user_id.append(r[0]) mylist.bind("<ButtonRelease-1>",get_list) root.mainloop()
出来上がりは、以下の通り