阅读背景:

学生信息存储到数据库中

来源:互联网 
# -*- coding:utf-8 -*-
import sqlite3




#模块类
class Student(object):
    connect = sqlite3.connect("datebase.db")
    cursor = connect.cursor()
    sql = "create table Stu(num integer primary key,name text,age INTEGER,phone TEXT)"
    #初始化中给对象属性赋值
    def __init__(self):
        # self.name=""
        # self.age=""
        # self.phone=""
        self.student_list=[]


    #添加学员函数
    def add_student(self):
        # 输入学员姓名、年纪、电话
        self.num = input("请输入学员学号:")
        self.name = input("请输入学员姓名:")
        self.age = input("请输入学员年纪:")
        self.phone = input("请输入学员电话:")
        sql = "INSERT INTO Stu(num,name,age,phone) VALUES ({},"{}",{},"{}")".format(self.num,self.name,self.age,self.phone)
        try:
            # 履行sql语句
            self.cursor.execute(sql)
            print("****添加学员胜利****")
        except Exception as e:
            print("该学号学员信息已存在!!!")
        # 提交履行sql
        self.connect.commit()

    #查询学员的函数
    def query_student(self):
        #1.查询所有学员
        #2.输入学员姓名 查询学员 得到查询的学员的序号
        print("*******学员信息列表*********")
        print("1.查询所有学员")
        print("2.依据姓名,查询学员信息")
        num = input("请选择您的操作:")
        # 转换为整数
        num = int(num)
        # 断定选择学员序号是不是在规模内
        while num not in range(1,3):
            # 不在规模,重新选择
            num = input("没有选项,请重选:")
            num = int(num)
        if num==1:
            sql = "select * from Stu "
            rs = self.cursor.execute(sql)
            for x in rs:
                # print(x)
                num,name,age,phone=x
                print("学号:{} 姓名:{}年纪:{}电话:{}".format(num,name,age,phone))
        else:
            name = input("请输入要查询学员的姓名:")
            while 1:
                a=False
                sql = "select * from Stu where name={}".format(name)
                try:
                    rs = self.cursor.execute(sql)
                    for x in rs:
                        num, name, age, phone = x
                        print("学号:{} 姓名:{}年纪:{}电话:{}".format(num, name, age, phone))
                        a = True
                except Exception as e:
                    name = input("您要查询的学生不在该表,重新输入查询学员的姓名:")
                else:
                    break


    #修正学员的函数
    def update_student(self):
        sql = "select * from Stu "
        rs = self.cursor.execute(sql)
        for x in rs:
            # print(x)
            num, name, age, phone = x
            print("学号:{} 姓名:{}年纪:{}电话:{}".format(num, name, age, phone))
        index = input("请选择要修正的学员学号:")
        # 转换为整数类型
        index = int(index)

        sql1 = "select * from Stu where num={}".format(index)
        rs = self.cursor.execute(sql1)
        for x in rs:
            # print(x)
            num, name, age, phone = x
            print("学号:{} 姓名:{}年纪:{}电话:{}".format(num, name, age, phone))

        new_num = input("请输入修正后的学号 :")
        new_name = input("请输入修正后的姓名 :")
        new_age = input("请输入修正后的年纪 :")
        new_phone = input("请输入修正后的电话 :")
        sql2 = "update Stu set num={}, name={}, age={}, phone={} where num={}".format(new_num,new_name,new_age,new_phone,index)
        self.cursor.execute(sql2)
        self.connect.commit()
        print("-----------修正数据完成------------")


    #删除学员信息
    #1.依据序号删除 2.删除所有学员 3.依据学员姓名删除(有同名的,把同名的都删除)
    def delete_student(self):
        print("1.依据学员序号删除")
        print("2.删除所有学员")
        num = int(input("请输入您的选择:"))
        # 断定选择的选项是不是在规模内
        while num not in range(1, 3):
            #获得输入的内容 并转换为整数类型
            num = int(input("没有改选项,请重选:"))
        #断定选择选项
        if num==1:
            # 1.展现所有学员信息
            sql = "select * from Stu "
            rs = self.cursor.execute(sql)
            for x in rs:
                # print(x)
                num, name, age, phone = x
                print("学号:{} 姓名:{}年纪:{}电话:{}".format(num, name, age, phone))

            # 2.选择删除的序号
            index = input("请选择要删除的学员学号:")
            # 转换为整数类型
            index = int(index)
            sql1 = "select * from Stu where num={}".format(index)
            self.cursor.execute(sql1)
            self.connect.commit()
            rs = input("肯定要删除该成员?y(是的)/n(不是):")
            if rs == "y":
                sql1 = "delete from Stu where num={}".format(index)
                self.cursor.execute(sql1)
                self.connect.commit()
            print("-----------删除胜利-----")

        else:
            # student_list.clear()
            rs = input("肯定要删除全体成员?y(是的)/n(不是):")
            if rs == "y":
                # 删除列表中全体数据
                sql1 = "delete from Stu"
                self.cursor.execute(sql1)
                self.connect.commit()
            else:
                print("删除数据操作已撤消!")

    def start(self):
        #声明一个大列表,寄存所有学员信息
        self.student_list=[]
        #2.while重复
        while True:
            print("**************学员管理体系v2.0************")
            print("************出品人:智游团体**********")
            print("1.添加学员")
            print("2.查询学员")
            print("3.修正学员")
            print("4.删除学员")
            print("0.退出程序")
            # 选择操作
            num = input("请输入您的选择:")
            #转换为整数
            num = int(num)
            # 断定选择的选项是不是在规模内
            while num not in range(0, 5):
                #重新选择
                num = input("没有改选项,请重选:")
                #把字符串类型转换整数类型
                num = int(num)
            #依据选择的选项履行对应的操作
            if num==1:
                #调用添加学员的函数
                self.add_student()
            elif num==2:
                #调用查询学员的函数
                self.query_student()
            elif num==3:
                #调用修正学员的函数
                self.update_student()
            elif num==4:
                #调用删除学员的函数
                self.delete_student()
            else:
                # print(self.student_list)
                print("-----------程序运行停止-------------")
                break
        # 关闭游标
        self.cursor.close()
        # 关闭数据库衔接
        self.connect.close()


if __name__=="__main__":
    st=Student()
    st.start()

# -*- coding:utf-8 -*-
import sqlite3




#模块类
cla



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: