肥肥酱 2021-05-10 20:54 采纳率: 16.7%
浏览 10

请各位帮我看看这个pb的sql语言哪儿出错了

我打算设置一个登陆窗口,输入员工号和密码正确就进入下一个窗口,然后登陆按键的clicked语句如下:

然后我设置的表格如下,里面也有我输入的参数,但我运行的时候,员工号输入111,密码输入111,就一直提示员工号或密码错误请重试。我们老师也说是select没有运行对,但是哪儿出了问题呢?要怎么改正呢?

 

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-02 16:53
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    根据您提供的信息,可能出现问题的地方是数据库查询语句的编写或者数据库连接的问题。下面按照规范的格式,给出解决方案并附上示例代码。 解决方案:
    1. 确保数据库连接正确,可以使用以下代码片段测试数据库连接:
    import pymysql
    try:
        connection = pymysql.connect(host='hostname', user='username', password='password', db='database_name')
        print("Successfully connected to the database")
        connection.close()
    except pymysql.Error as e:
        print("Error: Could not connect to MySQL database:")
        print(e)
    
    1. 确认数据库表名和字段名与代码中的查询语句一致。
    2. 确认字段类型和值的匹配,比如员工号字段是否为字符串类型,密码字段是否为加密后的字符串类型。
    3. 确认数据库中是否存在与查询条件匹配的记录。 代码示例:
    import pymysql
    def login():
        employee_id = EmployeeIDLineEdit.text()
        password = PasswordLineEdit.text()
        try:
            connection = pymysql.connect(host='hostname', user='username', password='password', db='database_name')
            cursor = connection.cursor()
            # 构造SQL查询语句
            sql = "SELECT * FROM employee WHERE employee_id = %s AND password = %s"
            cursor.execute(sql, (employee_id, password))
            # 获取查询结果
            result = cursor.fetchone()
            if result:
                print("登录成功")
                # TODO: 进入下一个窗口的操作
            else:
                print("员工号或密码错误,请重试")
            cursor.close()
            connection.close()
        except pymysql.Error as e:
            print("数据库连接错误:")
            print(e)
    # 调用登录函数
    login()
    

    请根据实际情况修改hostnameusernamepassworddatabase_name和表名、字段名等相关信息。 这是一个简单的示例代码,需要根据你的具体情况进行修改和完善。

    评论

报告相同问题?