# -*- coding:utf-8 -*-
import sqlite3
conn1 = sqlite3.connect('职工信息.db')
print ("数据库打开成功")
c = conn1.cursor()
# sql_text_1 = '''CREATE TABLE scores
# (姓名 TEXT,
# 性别 TEXT,
# 出生年月 DATE,
# 工作年月 DATE,
# 学历 TEXT,
# 职务 TEXT,
# 住所 TEXT,
# 电话 TEXT);'''
# c.execute(sql_text_1)
print ("数据表创建成功")
def denglu():
print('--------------------------------')
print(' 欢迎来到职工管理系统! ')
print('--------------------------------')
print('请选择您要办理的事项:')
print('1.新增职工信息')
print('2.删除职工信息')
print('3.查询职工信息')
print('4.修改职工信息')
print('5.排序职工信息')
print('0:退出程序')
print('--------------------------------')
def select():
a=input('请输入序号:')
return a
global name,xingbie,birthdate,workdate,xueli,turn,address,phone
def add():
xinxi_list = []
while True:
name = input('请输入职工姓名:')
if not name:
break
try:
xingbie = input('请输入职工性别:')
if xingbie!='男' and xingbie!='女':
print('请正确输入!')
continue
birthdate = input('请输入职工出生年月(xxxx.xx.xx):')
workdate = input('请输入职工工作年月(xxxx.xx.xx):')
xueli=input('请输入职工学历:')
turn=input('请输入职工职务')
address=input('请输入职工住址')
phone=input('请输入职工电话:')
except:
print("输入无效,请重新输入")
xinxi={'name': name, 'xingbie': xingbie, 'birthdate': birthdate, 'workdate':workdate,'xueli':xueli, 'turn':turn, 'address':address, 'phone':phone}
xinxi_list .append(xinxi)
answer = input("是否继续添加y/n?")
if answer == 'y':
continue
else:
break
for i in xinxi_list:
c.execute("INSERT INTO scores (姓名,性别,出生年月,工作年月,学历,职务,住所,电话) VALUES(?,?,?,?,?,?,?,?)",(i['name'],i['xingbie'],i['birthdate'],i['workdate'],i['xueli'],i['turn'],i['address'],i['phone']))
print('添加成功!')
def delete():
while True:
xinxi_name = input("请输入删除职工的姓名:")
xinxi_n={'姓名':f'{xinxi_name}'}
cursor = c.execute("SELECT 姓名,性别,出生年月,工作年月,学历,职务,住所,电话 from scores")
T = False
jieguo = []
for row in cursor:
if row[0] == xinxi_name:
jieguo = row
T = True
break
if xinxi_name !='':
if T==True:
#c.execute("delete from scores where 姓名='456'")
c.execute('delete from scores where 姓名=?', (xinxi_name,))
else:
print('数据库中无此人!')
answer = input("是否继续删除?y/n")
if answer == 'y':
continue
else:
break
def find():
while True:
xinxi_name = input("请输入要查询职工的姓名:")
cursor = c.execute("SELECT 姓名,性别,出生年月,工作年月,学历,职务,住所,电话 from scores")
T=False
jieguo=[]
for row in cursor:
if row[0]==xinxi_name:
jieguo=row
T=True
break
if xinxi_name != '':
if T==True:
print('姓名:',jieguo[0])
print('性别:',jieguo[1])
print('出生年月:',jieguo[2])
print('工作年月:',jieguo[3])
print('学历:',jieguo[4])
print('职务:',jieguo[5])
print('住所:',jieguo[6])
print('电话:',jieguo[7])
else:
print('数据库中无此人!')
answer = input("是否继续查询 ?y/n")
if answer == 'y':
continue
else:
break
def modify():
while True:
xinxi_name = input("请输入要修改职工的姓名:")
xinxi_n = {'姓名': f'{xinxi_name}'}
cursor = c.execute("SELECT 姓名,性别,出生年月,工作年月,学历,职务,住所,电话 from scores")
T = False
jieguo = []
for row in cursor:
if row[0] == xinxi_name:
jieguo = row
T = True
break
if xinxi_name != '':
if T==True:
print(jieguo)
liebiao=[]
for i in jieguo:
liebiao.append(i)
print(liebiao)
liebiao[1] = input('请输入职工性别:')
liebiao[2] = input('请输入职工出生年月(xxxx.xx.xx):')
liebiao[3] = input('请输入职工工作年月(xxxx.xx.xx):')
liebiao[4] = input('请输入职工学历:')
liebiao[5] = input('请输入职工职务')
liebiao[6] = input('请输入职工住址')
liebiao[7] = input('请输入职工电话:')
c.execute("UPDATE scores set 性别=?,出生年月=?,工作年月=?,学历=?,职务=?,住所=?,电话=? where 姓名=?",(liebiao[1],liebiao[2],liebiao[3],liebiao[4],liebiao[5],liebiao[6],liebiao[7],liebiao[0]))
else:
print('数据库中无此人!')
answer = input("是否继续修改 ?y/n")
if answer == 'y':
continue
else:
break
def sortt():#按姓名排序
print('----------------------------------------')
print(' 1.姓名 ')
print(' 2.出生年月 ')
print(' 3.工作年月 ')
print('----------------------------------------')
while True:
choice=input('选择那种排序方法?')
if choice=='1':
c.execute("SELECT * FROM scores ORDER BY 姓名 ASC")
elif choice=='2':
c.execute("SELECT * FROM scores ORDER BY 出生年月 ASC")
elif choice=='3':
c.execute("SELECT * FROM scores ORDER BY 工作年月 ASC")
print(c.fetchall())
answer = input("是否继续排序 ?y/n")
if answer == 'y':
continue
else:
break
def main():
while True:
denglu()
choice = int(input('请选择功能'))
if choice in [0, 1, 2, 3, 4, 5, 6, 7]:
if choice == 0:
answer = input('您确定退出系统吗?y/n')
if answer == 'y' or answer == 'Y':
print("欢迎您的使用!!")
break
else:
continue
elif choice == 1:
add()
conn1.commit()
elif choice == 2:
delete()
conn1.commit()
elif choice == 3:
find()
conn1.commit()
elif choice == 4:
modify()
conn1.commit()
elif choice == 5:
sortt()
conn1.commit()
input()
'''姓名、性别、出生年月、工作年月、学历、职务、住址、电话'''
main()
conn1 = sqlite3.connect('图书信息.db')
print ("数据库打开成功")
c = conn1.cursor()
sql_text_1 = '''CREATE TABLE scores
(id TEXT,
名称 TEXT,
作者 TEXT,
数量 TEXT,
入�
基于python语言和sqlite数据库的职工信息管理系统
需积分: 0 119 浏览量
更新于2023-07-19
3
收藏 3KB ZIP 举报
简单的职工管理系统:
1、问题描述
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
2、要求
职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
(6)数据必须以数据库的方式存储,建议采用SQLite数据库。
3、实现提示
职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。
(2)对职工对象中的"姓名"按字典顺序进行排序。
(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。
苦亦甜
- 粉丝: 595
- 资源: 8
最新资源
- Lawrence C. Evans Partial Differential Equations.djvu
- CFA知识点梳理系列:CFA Level II, Reading 4 Big Data Projects
- 专业问题 · 语雀.mhtml
- 基于Vue+TP6的B2B2C多场景电商商城设计源码
- 基于小程序的研知识题库小程序源代码(java+小程序+mysql).zip
- 基于小程序的微信小程序的点餐系统源代码(java+小程序+mysql).zip
- 基于小程序的宿舍管理小程序源代码(java+小程序+mysql).zip
- 基于小程序的小区服务系统源代码(python+小程序+mysql).zip
- QT项目之中国象棋人工智能
- 基于小程序的疫情核酸预约小程序源代码(java+小程序+mysql).zip