連載4:pythonで利用者情報入力を作る

『 sqlite3からuser formに読み込み 』
sqlite3からtkinterで作成したユーザーフォームにデータを読み込みます

  1. # -*- coding: utf-8 -*-
  2. import tkinter as tk
  3. import tkinter.ttk as ttk
  4. import sqlite3
  5. import tkinter.messagebox as msg
  6. dbname = “aozora.db”
  7. c = sqlite3.connect(dbname)
  8. # “”” リストボックスの選択を読み取る関数,その結果を入力ウィジェットに入れる”””
  9. def get_list(nanikanyuuryoku):
  10. cur = c.cursor()
  11. index = mylist.curselection()[0]
  12. user_id2 = (user_id[index], )
  13. cur.execute(‘select * from user where id = ?’, user_id2)
  14. user_id3 = cur.fetchone()
  15. entry1.delete(0,50)
  16. entry1.insert(0, user_id3[0])
  17. entry2.delete(0,50)
  18. entry2.insert(0, user_id3[1])
  19. entry3.delete(0,50)
  20. entry3.insert(0, user_id3[2])
  21. entry4.delete(0,50)
  22. entry4.insert(0, user_id3[3])
  23. entry5.delete(0,50)
  24. entry5.insert(0, user_id3[4])
  25. entry14.delete(0,50)
  26. entry14.insert(0, user_id3[5])
  27. entry18.delete(0,50)
  28. entry18.insert(0, user_id3[6][0:4])
  29. entry19.delete(0,50)
  30. sql = “””
  31. SELECT *
  32. FROM user order by セイ
  33. “””
  34. user_id = []
  35. for r in c.execute(sql):
  36. mylist.insert(tk.END,r[1] + ” “ + r[2])
  37. user_id.append(r[0])
  38. mylist.bind(“<ButtonRelease-1>”,get_list)
  39. root.mainloop()
  40. entry19.insert(0, user_id3[6][4:6])
  41. entry20.delete(0,50)
  42. entry20.insert(0, user_id3[6][6:8])
  43. entry8.delete(0,50)
  44. entry8.insert(0, user_id3[7])
  45. entry9.delete(0,50)
  46. entry9.insert(0, user_id3[8])
  47. #———————-    割愛   ————————#
  48. sql = “””
  49. SELECT *
  50. FROM user order by セイ
  51. “””
  52. user_id = []
  53. for r in c.execute(sql):
  54. mylist.insert(tk.END,r[1] + ” “ + r[2])
  55. user_id.append(r[0])
  56. mylist.bind(“<ButtonRelease-1>”,get_list)
  57. root.mainloop()

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