Pycharm+OpenGuass 数据库大作业开发笔记(四)

一.用户表格的创建

打开 Opengauss 虚拟机,启动 opengauss 数据库,以管理员身份运行 Data Studio,连接上 Opengauss 虚拟机,连接上 school 数据库,选中 school 数据库,鼠标右键,打开新的终端,输入如下 SQL 语言创建:用户表。

create table Userinformation(Uname varchar(50), Upassword varchar(50) not null, Primary key (Uname))

二.登录对话框的创建

选择“工具”→“External Tools”→“QtDesigner”启动designer,关闭当前窗口,点击“新建”,创建新的窗口,并将左上角的菜单删掉,如下图所示:

随后保存该窗口,命名为login.ui:

 

二.登录界面的绘制

1.在designer中,选择Lable,Line Edit,PushButton这三个控件,将其拖入当前窗口,如下图所示:

2.双击label和button控件编辑其内容,然后修改控件文本的至合适的大小:

3.接下来在对象查看器中,双击修改控件对象变量名称,将lineEdit,lineEdit_2修改为user,和password,3个Pushbutton修改为button1,button2,button3。方便我们接下来在程序中调用这些控件。

 

    4.选中password,可以看到它对应的是第二行的输入栏,由于是输入密码,我们需要对其属性就行修改,让其不可见,在对象查看器下面的属性编辑器中,找到echoMode选项:

更改其属性为password,这样密码在输入是就不是直接可见的了:

二.界面的导入与关闭按钮的实现

返回Pycharm,在Status类中导入新建的login.ui,并添加关闭按键响应函数。将下列代码放入Status类的构造函数中,然后加入关闭登录窗口的类函数close_login_window:

self.login = QUiLoader().load('G:\\CODE\\2019213061\\login.ui')
self.login.button3.clicked.connect(self.close_login_window)
def close_login_window(self):#关闭窗口
    self.login.close()
    cur.close()
    conn.close()

如下图所示:(要注意缩进)

然后在下面的执行程序中,将status.ui.show(),改为status.login.show(),这样程序执行时就可以看到登录界面。

执行结果:

这个时候是没法进入主界面的,因为并没有显示ui的代码,因此我们需要添加一个登录函数,在密码正确时,关闭login窗口进入主窗口ui。

三.登录按键与注册按键的实现

与上述同理,先加入登录按键和注册按键的事件函数,再加入相应的登录函数,在构造函数下加入如下代码,然后加入对应的类函数Sign_in与Register:

def Sign_in(self):
    user = self.login.user.text()  # 获取输入框的内容
    password = self.login.password.text()
    val = (user, password)
    cur.execute('select * from userinformation where uname = %s and upassword = %s;', val)
    result = cur.fetchall()  # 获取所有结果
    conn.commit()
    if result == []:
        QMessageBox.about(self.login,'提示','密码错误或用户不存在')
    else:
        QMessageBox.about(self.login, '提示', '登录成功')
        self.login.close()
        self.ui.show()


def Register(self):
    user = self.login.user.text()  # 获取输入框的内容
    password = self.login.password.text()
    cur.execute(f'select * from userinformation where uname = \'%s\' ;'%(user))
    result = cur.fetchall()  # 获取所有结果
    conn.commit()
val = (user,password)
    if result != []:
        QMessageBox.about(self.login, '提示', '用户已存在')
    else:
        cur.execute("insert into userinformation VALUES (%s,%s);", val)
        conn.commit()
        QMessageBox.about(self.login, '提示', '注册成功')

(1)关于登录函数,先获取当前输入框内容,然后用SQL语句在userinformation中查找是否有对应的值,如果存在,则返回对应的值,如果不存在,则返回空列表“[]”借此判断是否存在该用户,如果用户存在,密码正确则,关闭login显示主窗口ui。

(2)关于注册函数,先获取当前输入框内容,然后用SQL语句在userinformation中查找是否有对应的值,如果存在的话则提示已有用户存在,如果返回空列表,则证明用户不存在,将输入框的用户名与密码写入数据库。

添加后效果如下:

运行当前程序:

注册:

 

登录:

 

随后会进入主窗口:

四.生成exe执行文件:

在终端输入下述代码 :

pyinstaller Opengauss_GUI.py --noconsole --hidden-import PySide2.QtXml

运行完成后会在项目目录生成dist文件夹,在里面可以找到我们生成的exe文件。

### PyCharm连接MySQL进行数据库课程设计教程 #### 安装必要的库 为了使PyCharm能够成功连接到MySQL,安装`pymysql`包是必需的操作之一。这可以通过进入PyCharm中的“文件->设置->Python解释器”,然后点击加号来完成,在弹出窗口中搜索并安装`pymysql`包[^3]。 #### 创建新的项目配置以连接至MySQL 创建一个新的数据源或编辑现有的数据源以便于与MySQL建立连接。此过程涉及指定主机名、端口、用户名以及密码等必要参数。确保所填写的信息匹配目标MySQL服务器上的实际设定[^1]。 #### 解决未显示全部数据库的问题 如果遇到已成功连接MySQL但未能看到所有预期的数据库列表的情况,则可能是因为当前用户权限不足或是选择了错误的数据源模式所致。确认使用的账户具有足够的访问权限,并尝试切换不同的连接方式查看是否有所改善。 #### 编写SQL查询语句并与之交互 一旦建立了稳定可靠的链接之后就可以开始编写SQL脚本了。利用PyCharm内置的支持功能可以直接在IDE内部执行这些命令,从而方便快捷地测试和验证各种假设。对于更复杂的操作还可以考虑采用事务处理机制来保障数据的一致性和安全性。 ```sql SELECT * FROM table_name; INSERT INTO table_name (column_list) VALUES(value_list); UPDATE table_name SET column1=value WHERE condition; DELETE FROM table_name WHERE condition; ``` #### 断开MySQL连接 当不再需要保持活动状态时记得关闭现有会话以免浪费资源。通常情况下只需停止应用程序即可自动断开会话;不过也可以通过编程手段显式调用相应的方法实现这一点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值