文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python和sqlite3数据库如何实现简单登陆注册功能

2024-04-02 19:55

关注

这篇文章将为大家详细讲解有关python和sqlite3数据库如何实现简单登陆注册功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

#coding=utf8
#登录注册功能齐了
import wx
import sqlite3
class MyFrame(wx.Frame):

    def __init__(self):
        wx.Frame.__init__(self, None, -1, 'DB EXAMPLE',pos=wx.DefaultPosition,size=(300, 150))
        panel = wx.Panel(self, -1) 
        
        usernameLabel = wx.StaticText(panel, -1, "用户名:")#设置用户名Label
        self.usernameText = wx.TextCtrl(panel, -1, "",size=(175, -1))#设置输入用户名的文本框
        self.usernameText.SetInsertionPoint(0)
        
        
        pwdLabel = wx.StaticText(panel, -1, "密码:")#设置密码的Label
        self.pwdText = wx.TextCtrl(panel, -1, "", size=(175, -1),style=wx.TE_PASSWORD)#设置密码的文本框
        
        
        loginButton=wx.Button(panel,-1,"登录")#登录按钮
        exitButton=wx.Button(panel,-1,"退出")#退出按钮
        registerButton=wx.Button(panel,-1,"注册")
        
        sizer = wx.FlexGridSizer(cols=2, hgap=6, vgap=6)#sizer设置
        sizer.AddMany([usernameLabel, self.usernameText, pwdLabel, self.pwdText,loginButton,exitButton,registerButton])#把它们都安在sizer里
        panel.SetSizer(sizer)
        
        self.Bind(wx.EVT_BUTTON, self.OnLogIn, loginButton)#登录按钮绑定事件
        self.Bind(wx.EVT_BUTTON, self.OnCloseWindow, exitButton)#退出按钮绑定事件
        self.Bind(wx.EVT_BUTTON, self.OnRegister, registerButton)#注册按钮绑定事件
        
        
        
        
#         self.buildingDB()#创建数据库和表,此语句只运行第一次,之后将其注释掉
        
    def OnLogIn(self,event):#登录方法
        self.username=self.usernameText.GetValue()
        self.password=self.pwdText.GetValue()
        username=str(self.username.strip())
        conn=sqlite3.connect('db01')
        cur=conn.cursor()
        cur.execute("SELECT password FROM table01 WHERE username='%s'"% username)
        t=cur.fetchone()[0]
        print t
        if str(self.password)==str(t):
            print 'Password is correct!'
            self.Maximize(True)#窗口最大化,意思意思主界面
        else:
            print 'failed'
    def OnCloseWindow(self,event):#关闭窗口
        self.Close()
        
#     def loginmethod(self):
#         
#         pass
    
    def buildingDB(self):#建立数据库
        conn=sqlite3.connect("db01")
        cur=conn.cursor()
        cur.execute("""
        CREATE TABLE table01(username text,password text, realname text,account text,workingdept text,phonenumber text)
        """)
        cur.execute("""INSERT INTO table01 values('zhangsan','123','zhangsan','','','')""")
        cur.execute("""INSERT INTO table01 values('lisi','123','zhangsan','','','')""")
        cur.execute("""INSERT INTO table01 values('wangwu','123','zhangsan','','','')""")
        conn.commit()
        cur.execute("""SELECT username FROM table01 WHERE username='zhangsan'""")
#         p=cur.fetchone()
#         print p
        cur.close()
         
    def OnRegister(self,event):#注册方法
        self.username=self.usernameText.GetValue()
        self.password=self.pwdText.GetValue()
        conn=sqlite3.connect("db01")
        cur=conn.cursor()
        cur.execute("INSERT INTO table01 VALUES('%s','%s','','','','')"%(self.username,self.password))
        conn.commit()
        print "Registered successfully!"
        cur.close()
        
if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()

关于python和sqlite3数据库如何实现简单登陆注册功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯