当前位置:   article > 正文

基于PysimpleGUI+pymysql建立的简单管理系统(3)—插入功能_pysimplegui读数据库数据

pysimplegui读数据库数据

        紧接上文,我们接下来来讲insert.py。

        通过上文的menu.py登录界面,我们输入1选择插入功能,并进入对应的insert.py插入文件中。

        在进行插入操作的之前,我们需要创建好对应的数据库表,存储插入的客户账单信息。

        首先,我们创建名为custome_information的客户信息表:

         其中,custome_name代表客户名,order_name代表订单名,time代表时间,material代表材料,size代表尺寸,quantity代表数量,price代表单价,amount代表金额。

        之后,进行insert.py的代码展示:

  1. import pymysql
  2. import PySimpleGUI as sg
  3. import pandas as pd
  4. import time
  5. import os
  6. import datetime
  7. conn = pymysql.connect(host="localhost", #设置mysql的连接
  8. user="root",
  9. password="...",
  10. db="user_information",
  11. charset="utf8")
  12. layout = [[sg.Text("请输入客户名")], #对交互窗口进行设计
  13. [sg.Input(key='-INPUT-')], #每个文本之下,插入输入框
  14. [sg.Text("请输入订单名")],
  15. [sg.Input(key='-INPUT-')],
  16. [sg.Text("请输入时间(年.月.日)")],
  17. [sg.Input(key='-INPUT-')],
  18. [sg.Text("请输入材料")],
  19. [sg.Input(key='-INPUT-')],
  20. [sg.Text("请输入尺寸")],
  21. [sg.Input(key='-INPUT-')],
  22. [sg.Text("请输入数量")],
  23. [sg.Input(key='-INPUT-')],
  24. [sg.Text("请输入单价")],
  25. [sg.Input(key='-INPUT-')],
  26. [sg.Text("请输入金额")],
  27. [sg.Input(key='-INPUT-')],
  28. [sg.Text(size=(40,1), key='-OUTPUT-')],
  29. [sg.Button('ok'), sg.Button('返回'),sg.Button('退出')]] #设置按钮
  30. window = sg.Window('添加客户账单', layout)
  31. while True:
  32. event, values = window.read() #读取输入的值和动作
  33. if event == '返回':
  34. time.sleep(0.5)
  35. window.close()
  36. os.system('python menu.py') #返回菜单界面
  37. break
  38. if event == sg.WINDOW_CLOSED or event == '退出':
  39. break
  40. format_str = '%Y.%m.%d' #设置日期格式
  41. values = pd.DataFrame([values])
  42. custome_name = str(values.iat[0,0]) #提取出输入的信息
  43. if custome_name == '': #输入为空时,报错
  44. window.close()
  45. layout = [[sg.Text("填写为空或填写格式错误!")], #设计报错窗口
  46. [sg.Button('返回')]]
  47. window = sg.Window('错误', layout)
  48. while True:
  49. event, values = window.read()
  50. if event == sg.WINDOW_CLOSED:
  51. break
  52. if event == '返回':
  53. time.sleep(0.5)
  54. window.close()
  55. os.system('python insert.py') #返回插入界面
  56. break
  57. order_name = str(values.iat[0,1])
  58. if order_name == '':
  59. window.close()
  60. layout = [[sg.Text("填写为空或填写格式错误!")],
  61. [sg.Button('返回')]]
  62. window = sg.Window('错误', layout)
  63. while True:
  64. event, values = window.read()
  65. if event == sg.WINDOW_CLOSED:
  66. break
  67. if event == '返回':
  68. time.sleep(0.5)
  69. window.close()
  70. os.system('python insert.py')
  71. times = str(values.iat[0,2])
  72. if times == '':
  73. window.close()
  74. layout = [[sg.Text("填写为空或填写格式错误!")],
  75. [sg.Button('返回')]]
  76. window = sg.Window('错误', layout)
  77. while True:
  78. event, values = window.read()
  79. if event == sg.WINDOW_CLOSED:
  80. break
  81. if event == '返回':
  82. time.sleep(0.5)
  83. window.close()
  84. os.system('python insert.py')
  85. break
  86. times = datetime.datetime.strptime(times, format_str) #转换时间格式
  87. material = str(values.iat[0,3])
  88. if material == '':
  89. window.close()
  90. layout = [[sg.Text("填写为空或填写格式错误!")],
  91. [sg.Button('返回')]]
  92. window = sg.Window('错误', layout)
  93. while True:
  94. event, values = window.read()
  95. if event == sg.WINDOW_CLOSED:
  96. break
  97. if event == '返回':
  98. time.sleep(0.5)
  99. window.close()
  100. os.system('python insert.py')
  101. break
  102. size = str(values.iat[0,4])
  103. if size == '':
  104. window.close()
  105. layout = [[sg.Text("填写为空或填写格式错误!")],
  106. [sg.Button('返回')]]
  107. window = sg.Window('错误', layout)
  108. while True:
  109. event, values = window.read()
  110. if event == sg.WINDOW_CLOSED:
  111. break
  112. if event == '返回':
  113. time.sleep(0.5)
  114. window.close()
  115. os.system('python insert.py')
  116. break
  117. quantity = int(values.iat[0,5])
  118. if quantity == '':
  119. window.close()
  120. layout = [[sg.Text("填写为空或填写格式错误!")],
  121. [sg.Button('返回')]]
  122. window = sg.Window('错误', layout)
  123. while True:
  124. event, values = window.read()
  125. if event == sg.WINDOW_CLOSED:
  126. break
  127. if event == '返回':
  128. time.sleep(0.5)
  129. window.close()
  130. os.system('python insert.py')
  131. break
  132. price = float(values.iat[0,6])
  133. if price== '':
  134. window.close()
  135. layout = [[sg.Text("填写为空或填写格式错误!")],
  136. [sg.Button('返回')]]
  137. window = sg.Window('错误', layout)
  138. while True:
  139. event, values = window.read()
  140. if event == sg.WINDOW_CLOSED:
  141. break
  142. if event == '返回':
  143. time.sleep(0.5)
  144. window.close()
  145. os.system('python insert.py')
  146. break
  147. amount = float(values.iat[0,7])
  148. if amount == '':
  149. window.close()
  150. layout = [[sg.Text("填写为空或填写格式错误!")],
  151. [sg.Button('返回')]]
  152. window = sg.Window('错误', layout)
  153. while True:
  154. event, values = window.read()
  155. if event == sg.WINDOW_CLOSED:
  156. break
  157. if event == '返回':
  158. time.sleep(0.5)
  159. window.close()
  160. os.system('python insert.py')
  161. break
  162. cursor = conn.cursor()
  163. #mysql插入语句
  164. sql ="insert into custome_information (custome_name,order_name,time,material,size,quantity,price,amount) values ('%s','%s','%s','%s','%s','%s','%s','%s')"%(custome_name,order_name,times.strftime("%Y.%m.%d"),material,size,quantity,price,amount)
  165. cursor.execute(sql)
  166. conn.commit()
  167. cursor.close()
  168. conn.close()
  169. window.close()
  170. os.system('python menu.py') #插入成功后返回菜单界面

接下来将持续更新,delete.py删除等功能的实现。

运行截图:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/955541
推荐阅读
相关标签
  

闽ICP备14008679号