点击空白处退出提示
作品详情
在register_confirm函数中,先获取用户在界面输入的用户名和密码,然后按照设定的格式规则(用户名长度、字符构成以及密码长度要求)对输入内容进行合法性校验。如果输入符合要求,尝试向users表插入新用户信息,若插入时因用户名已存在触发sqlite3.IntegrityError异常,则提示用户名重复错误;若插入成功则提交事务使数据生效,提示注册成功并关闭注册窗口,完成整个注册流程,为用户进入系统提供账号创建的入口功能。
用户登录:通过login函数构建登录界面以及实现登录验证逻辑,其内部login_confirm函数承担核心的验证工作。
在login_confirm函数里,获取用户在登录界面输入的用户名和密码后,通过执行 SQL 查询语句在users表中查找匹配的用户记录。若查询到记录(即用户输入的用户名和密码正确),则提示登录成功,关闭登录窗口,并调用show_logged_in_operations函数展示登录后的操作界面,方便用户进行后续订票等相关操作;若未查询到记录,则提示用户名或密码错误,引导用户重新输入,以此实现系统的用户登录验证功能,把控用户进入系统操作的权限。
订票功能:book_ticket函数用于实现订票功能,先调用display_trains函数展示车次信息方便用户知晓可预订车次情况。随后弹出订票窗口,在内部嵌套的book_confirm函数中获取用户输入的预订车次信息,接着查询该车次在数据库中的余票数量。如果车次存在且有余票,就向booked_tickets表插入订票记录(关联当前登录用户和预订车次),同时更新trains表中该车次的余票数量减 1,并提交数据库事务,提示订票成功后关闭订票窗口;若车次不存在或者余票不足,则相应给出错误提示,从而完成订票核心操作逻辑,实现用户预订车票的功能。
退票功能:return_ticket函数用于处理用户退票操作,先弹出退票窗口,内部return_confirm函数承担实际的退票逻辑验证和数据库操作。在return_confirm函数中,通过查询booked_tickets表获取当前登录用户的订票车次信息,若查询到有订票记录,获取对应的车次,然后从booked_tickets表中删除该订票记录更新trains表中该车次的余票数量加 1,提交数据库事务,提示退票成功后关闭退票窗口。若用户没有订票记录,则提示相应错误信息,以此实现退票功能,满足用户取消已预订车票的需求。
信息保存功能:save_info函数实现将系统中的关键数据保存到 CSV 文件的功能,分为两部分,分别保存车次信息和订票人信息。
对于车次信息,先打开trains.csv文件,定义好字段名,写入表头后,通过查询trains表获取所有车次记录,逐行将数据按照对应字段写入文件。
对于订票人信息,同样打开booked_tickets.csv文件,定义相应字段名和写入表头,然后查询booked_tickets表获取所有订票记录并写入文件。
最后提示信息保存成功,方便数据的备份和后续查看、分析等用途,确保系统数据的可维护性和一定程度的持久化存档需求。
技术实现:python语言,使用sqlite3库连接数据库,使用 Tkinter 搭建可视化界面。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论