ValueError:无法在Python / QT Designer / Mysql中处理参数

问题描述 投票:-1回答:1
 def LogIn (self):
        username = self.lineEdit_6.text()
        password = self.lineEdit_7.text()
        query = "select * from users where username = %s and password =%s "
        cur.execute(query,(username,password))
        cur.fetchall()
        if not cur.rowcount:
            return self.pushButton_4.clicked.connect(self.signup)
        else: 
            self.pushButton_4.clicked.connect(self.profile)
            return username

 def displayinfo(self):
        username = self.LogIn()
        query = "select name , matric from users where username = (%s)"
        things = (username)
        cur.execute(query,things)
        name, matrix = cur.fetchall()
        return self.label_8("&name:", self), self.label_9("&matrix", self)

[嗨,我正在尝试让用户在一页上登录,然后在下一页上显示其详细信息,例如姓名和学生ID。但是,我收到以下错误:

ValueError: Could not process parameters

如何通过登录名传递用户名?因为我想返回并显示数据库中用户名的详细信息

enter image description here

python mysql pyqt
1个回答
0
投票

好,好了,您应该在代码中列出一些要更改的内容。而且您最好避免歧义(这里似乎有一些)。我不知道您用来连接到mysql的库,所以我只使用我通常使用的那个库,即mysql.connector。

 import mysql.connector

 conn = mysql.connector.connect(user='scott', password='password',
                          host='127.0.0.1',
                          database='employees')

 cur = conn.cursor()

 def LogIn (self, username, password):
        username = self.lineEdit_6.text()
        password = self.lineEdit_7.text()
        with conn:
            query = 
            row = cur.execute("select * from users where username=username and password =password")                                                              
            if row is None:
                self.pushButton_4.clicked.connect(self.profile)
                return username
             return self.pushButton_4.clicked.connect(self.signup)

很明显,您必须进行一些修改,但这可以解决您的问题。您收到错误的原因之一是因为您的字符串格式没有可用于设置格式的值,因此我只是进行了切换,以便它可以与传递给函数的参数一起使用,而不是不存在的字符串值

© www.soinside.com 2019 - 2024. All rights reserved.