zono note

zono note

日々の学び、気付きを大切に綴りたい

連載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()

出来上がりは、以下の通り
tkinterで作成した入力画面