首先先对输入数据进行简单的判断,如是否输入长度过长或者没有输入
确定没有异常后再进行数据库操作
使用pymysql.connect
进行数据库的连接并获取数据库交互对象cursor,用try块包裹,如果出错则抛出数据库连接失败的消息提示框并结束该函数
正确连接数据库之后,将输入框获得的username和password作为参数封装SQL语句:sql = 'insert into users values("%s","%s")' % (username, password)
随后执行sql语句,如果成功执行则结束事务conn.commit()
,出现异常则进行事务回滚conn.rollback()
并提示用户名已存在(因为username设置为主键,重复则会出现异常,至于数据长度方面的异常已经在最开始排除)
最后不要忘记关闭数据库连接
def register(self, event): # 注册
username = self.nameEd1.text()
password = self.nameEd2.text()
if username == “” or password == “”:
msg_box = QMessageBox(QMessageBox.Warning, ‘温馨提示’, ‘用户名和密码不能为空’)
msg_box.exec_()
return
if len(username) > 10 or len(password) > 16:
msg_box = QMessageBox(QMessageBox.Warning, ‘温馨提示’, ‘用户名或密码过长’)
msg_box.exec_()
return
try:
conn = pymysql.connect(host=‘localhost’, user=‘root’, password=‘129496’, db=‘pyhomework’)
cur = conn.cursor()
except:
msg_box = QMessageBox(QMessageBox.Warning, ‘错误提示’, ‘数据库连接失败’)
msg_box.exec_()
<