班级管理系统

这是一个使用Python的wx库创建GUI界面,结合pymysql库进行数据库操作的用户登录和注册系统。用户可以输入姓名查询学号,如果未注册,输入的名字和学号将自动注册到数据库中。程序通过wx.EVT_BUTTON事件处理查询和注册操作,并通过conn.commit()提交数据库事务。
摘要由CSDN通过智能技术生成

这个系统用到wx库和pymsql库

需要用wx制作一个窗口

        点击查询转到查询事件中,调用selectOne方法查询数据并返回

        点击注册转到注册事件中,调用insertOne方法将数据传入数据库

                最后要用conn.commit()提交

代码如下

import wx
import pymysql

#主要窗口类
class LoginFrame(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,'用户登录及注册',pos = (700,400),size=(400,250))
        panel = wx.Panel(self)
        
        self.bt_confirm = wx.Button(panel,label = '查询')
        self.bt_confirm.Bind(wx.EVT_BUTTON,self.selectController)
        self.bt_cancel = wx.Button(panel,label = '注册')
        self.bt_cancel.Bind(wx.EVT_BUTTON,self.registerController)
        
        self.title = wx.StaticText(panel, label = '支持输入姓名查询学号,没注册的输入名字以及学号将自动注册')
        self.label_user = wx.StaticText(panel, label = '姓名')
        self.text_user = wx.TextCtrl(panel, style = wx.TE_LEFT)
        self.label_userid = wx.StaticText(panel, label = '学号')
        self.text_userid = wx.TextCtrl(panel, style = wx.TE_LEFT)
        
        hsizer_user = wx.BoxSizer(wx.HORIZONTAL)
        hsizer_user.Add(self.label_user, proportion = 0,flag = wx.ALL,border = 5)
        hsizer_user.Add(self.text_user, proportion = 1,flag = wx.ALL,border = 5)
        hsizer_userid = wx.BoxSizer(wx.HORIZONTAL)
        hsizer_userid.Add(self.label_userid, proportion = 0,flag = wx.ALL,border = 5)
        hsizer_userid.Add(self.text_userid, proportion = 1,flag = wx.ALL,border = 5)
        hsizer_button = wx.BoxSizer(wx.HORIZONTAL)
        hsizer_button.Add(self.bt_confirm, proportion = 0,flag = wx.ALL,border = 5)
        hsizer_button.Add(self.bt_cancel, proportion = 0,flag = wx.ALL,border = 5)
        
        viszer_all = wx.BoxSizer(wx.VERTICAL)
        viszer_all.Add(self.title, proportion = 0, flag = wx.BOTTOM|wx.TOP|wx.ALIGN_CENTER, border = 15)
        viszer_all.Add(hsizer_user, proportion = 0, flag = wx.EXPAND|wx.LEFT|wx.RIGHT, border = 45)
        viszer_all.Add(hsizer_userid, proportion = 0, flag = wx.EXPAND|wx.LEFT|wx.RIGHT, border = 45)
        viszer_all.Add(hsizer_button, proportion = 0, flag = wx.ALIGN_CENTER|wx.TOP, border = 15)
        panel.SetSizer(viszer_all)
        
    '''
        没将判断逻辑做好
        查询要是不存在在数据库中那直接就不能在后面继续使用,没找到解决办法
    '''
    #控制查询方法
    def selectController(self, event):
        username = self.text_user.GetValue()
        result = selectOne(username)
        wx.MessageBox(username+'的学号为:'+result[0])
        
     #控制写入方法  
    def registerController(self, event):
        insertOne(self.text_userid.GetValue(),self.text_user.GetValue())
        wx.MessageBox('添加成功')

#链接数据库并查询语句        
def selectOne(username):
        conn = pymysql.connect(host='localhost',user='root',password='1002466752asdfgHJKL',database='studentinformation')
        cursor = conn.cursor()
        cursor.execute("select * from information where username = %s",(username,))
        result = cursor.fetchone()
        cursor.close()
        conn.close()
        return result

#链接数据库并输入语句    
def insertOne(userid,username):
        conn = pymysql.connect(host='localhost',user='root',password='1002466752asdfgHJKL',database='studentinformation')
        cursor = conn.cursor()
        cursor.execute("insert into information (userid,username) values (%s,%s)",(userid,username))
        cursor.close()
        conn.commit()
        conn.close()
    
if __name__ == '__main__':
    app = wx.App()
    frame = LoginFrame(parent = None, id = -1)
    frame.Show()
    app.MainLoop()

结果如下

注册如下

 

 

 

资源非常丰富,包含了学生信息管理系统需求分析文档,软件详细设计文档,安装部署手册及源程序。开发工具:软件架构:web应用程序,采用struts2加hibernate加spring框架。开发平台:J2EE 功能实现: 前台主页描述:顶部和底部均为各版块的公共部分,提供了一些导航链接,很方便用户操作。 左侧栏为用户信息及其班级信息展板,左侧底部展板用户显示一些班级公告信息, 右侧包括班级相册,可以自动播放,也可手动播放,还有一些班级的最新留言。 主页面只显示了最新的三条,用户可以通过头部导航条中的留言或“查看更多”导航 进入全部留言区,这里将为用户按时间先后顺序陈列出了所有的班级留言。您也可以 点击主页留言处的“我要留言”而进行留言。 班级模块描述:通过班级,用户可以查询本班的其他同学的信息,并且可以对信息的显示顺序进行排序, 排序可以按学号,姓名,年龄条件,再选择排序方式,点击查询即可。 留言模块描述:留言主要是方便大家讨论用的,用户可以发表留言信息,但如果内容不文明不科学,管理员可以删除。 这里也需说明一下,这里的留言没有设置留言评论的,感觉对于班级信息系统来说,也没这个必要,用户 有什么话要说,尽管留言即可,不过如果硬要针对某个人进行留言的话,用户也可以在留言中说明一下 即行,也没什么不方便的。 公告模块描述:特别说明一下,原本想将公告和活动分开处理的,但目前由于时间问题,暂且放在一起了,也就是 公告与活动是同一内容,然而这样做感觉也还可以,说得过去,这里的公告是一些班级的公告信息, 主要是由后台管理员(可以说是班长或班主任等)来发布的,只有管理员才能够直接操作公告信息, 前台用户这里只能够查看,其实这样没什么不妥,反而便于管理,也更符合常情。 其他模块描述:收藏和注销只是两个小功能,收藏是为了方便用户将本网页保存起来,这样以后就不必输入网址了。 而注销是必不可少的,用户登录后,当想退出时,就可以安全注销了,如果你现在还不想退出的话, 就别点击它哦,否而得重新登录的喔,仅作提示。 后台主页包括顶部公共模块,底部公告模块,左侧导航栏,中间显示区。其中顶部公共模块中的“主菜单”能够便捷的打开左侧的导航栏,“前台主页”是后台管理员查看前台主页信息,“后台主页”打开后台相关介绍信息的页面(登录成功后的主页面),“发布公告”方便管理员打开班级公告页面,便于发布新的公告,“数据维护”包括数据库备份与恢复,“系统设置”主要涉及到一些本系统的设置信息,由于时间及精力有限,这两块先预留着,以后再好好完善扩展。那个蓝色小按钮是控制中间页面是否隐藏左侧导航栏用的,而那两个黑色小按钮用于移动显示框的。 左侧导航栏主要包括了管理员信息的增删改查,学生信息的增删改查,班级公告信息的增删改查,班级留言信息的查询与删除。管理员单击各导航链接进入到相应页面,进行操作即可。 前后台页面美观,操作方便,尤其配有平台搭建介绍文档,很容易搭建系统平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值