体温登记项目
工具类的代码
import pymysql # 导入数据库驱动模块!
class DBUtil():
#db = MysqlHelper('39.98.39.173',13306,'root','root','1909C2')
def __init__(self,host,port,user,passwd,db,charset='utf8'):
self.host= host
self.port = port
self.user = user
self.passwd = passwd
self.db = db
self.charset=charset
#self.conn = None
def connect(self):
'''功能1: 获取连接'''
self.conn = pymysql.connect(host=self.host,port=self.port,user=self.user,passwd=self.passwd,db=self.db,charset=self.charset)
self.cursor =self.conn.cursor()
def close(self):
'''功能2:释放资源'''
self.cursor.close() #关游标
self.conn.close()# 关连接
def my_execute(self,sql,params):
'''
增删改通用功能
:param sql: sql语句
:param params: 参数列表
:return: num 影响行数
'''
num =0
# 1. 打开连接
self.connect()
num = self.cursor.execute(sql,params)
self.conn.commit()
self.close() #释放资源
return num
def my_executemany(self,sql,params):
'''
通用批量插入
:param sql: sql语句
:param params: 参数列表[(),(),]
:return: num 影响行数
'''
num =0
# 1. 打开连接
self.connect()
num = self.cursor.executemany(sql,params)
self.conn.commit()
self.close() #释放资源
return num
def get_one(self,sql,params):
'''
查询1条
:param sql: sql语句
:param params: 参数列表
:return: 1条结果
'''
result =None
#1.打开链接
self.connect()
# 2.执行查询
self.cursor.execute(sql,params)
# 3 逐行抓取
result = self.cursor.fetchone()
#4.释放资源
self.close()
return result
def get_all(self, sql, params):
'''
查询所有
:param sql: sql语句
:param params: 参数列表
:return: 1条结果
'''
result = ()
self.connect()
self.cursor.execute(sql, params)
result = self.cursor.fetchall()
self.close()
return result
体温登记功能的代码
# 1. 导入工具类
from db_util import DBUtil #导入数据库的# 工具类
import datetime # 导入日期
import random
import time
current_day = datetime.date.today() # 今天日期 2020-11-08
def menu():
'''登陆菜单'''
print('1. 登陆')
print('2. 注册')
def zhuce():
num = input("请输入您的密码")
if len(num)<6:
print("密码必须是6位数")
str_2 = ''
while 1:
num_1 = str(random.randint(1,10))
str_2 += num_1
if len(str_2)==4:
print(f'您的账号是{str_2}')
break
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql ="insert into dome_1 values(default ,%s,%s)"
parms = (str_2,num)
result =db.my_execute(sql,parms)
if result is not None:
print("注册成功")
def login():
'''登陆功能'''
# 创建数据库对象
name = input("请输入您的账号")
pwd = input("请输入您的密码")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
sql ="select * from dome_1 where users =%s and passwd =%s"
params =[name,pwd]
result =db.get_one(sql,params)
if result is not None:
print("登录成功")
while 1:
menu_1()
def menu_1():
'''系统菜单'''
print('1. 生成今日体温记录')
print('2. 根据名字修改体温记录')
print('3.根据日期查询统计')
num = int(input('请选择菜单:'))
if num==1:
gener_jilu() #生成今日体温记录
elif num==2:
update_jilu() #根据名字修改
elif num==3:
mycount() #统计
else:
print('输入错误!')
def gener_jilu():
print(f'生成:{current_day}体温记录!')
# 1. 创建数据库对象
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
#判断是否生成过
result =db.get_one('select * from biaoji where time_1=%s',(current_day))
# print(result)
if result is None:
try:
students = db.get_all("select * from students_2",None)
print(students)
# 3. 生成记录
list_jilu = []
for stu in students:
jilu = (stu[0], current_day, 1, '正常') # 记录
list_jilu.append(jilu)
#print(f'今日体温记录:{len(list_jilu)},条')
# 4.调用批量插入
sql = "insert into temp_1(s_id,creat_time,temp,manage) values(%s,%s,%s,%s)"
db.my_executemany(sql, list_jilu)
# 生成一条标记!
db.my_execute('insert into biaoji(time_1,manage_1) values(%s,%s)', (current_day, 1))
print('无错误生成成功!!')
except Exception as e:
print(e)
else:
print('今日已生成!')
def update_jilu():
print('根据名字修改记录资料')
name = input("请输入要修改的学生的姓名")
time = input("请输入修改的时间")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
result = db.get_one("select id from students_2 where name = %s",name)
temp_1 = input("请输入修改以后的状态 回车不修改")
num = db.my_execute("update temp_1 set temp = %s where s_id = %s and creat_time = %s",(temp_1,result,time))
if num is not None:
print("状态修改成功")
manage_1 = input("请输入修改后的异常信息 回车不修改")
num_1 = db.my_execute("update temp_1 set manage = %s where s_id = %s and creat_time = %s",(manage_1,result,time))
if num_1 is not None:
print("修改成功")
def mycount():
print('统计!')
start = input("请输入开始的时间")
edd = input("请输入结束的时间")
num_1 = input("请输入要查询的状态")
db = DBUtil('39.98.39.173', 13306, 'root', 'root', '刘烽吉')
num = db.get_all("select * from temp_1 where %s < creat_time < %s and temp = %s",(start,edd,num_1))
print(f'在{start}到{edd}时间段内,状态为{num_1}的人有%s个人'%len(num))
while 1:
menu()
num = input("请输入您要执行的操作")
if num == "1":
login()
elif num == "2":
zhuce()
关于数据库建表,代码中可以找到
你的意见促使我改变

浙公网安备 33010602011771号