es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cuando busco sobre este código de MYSQL en la entrada, muestra un error, pero cuando uso “select” funciona bien.

def buscar_usuario():
        try:
            sqlcon = mysql.connector.connect(
                host="localhost", user="root", password="", database="Eng100")
            cur = sqlcon.cursor()
            sql = "SELECT us_mobile, us_name,us_job,us_zone,us_email,us_tokenpass,us_newpass FROM Eng_user WHERE us_code = '1151'"
            # value = str(txt_code.get())
            cur.execute(sql)
            rows = cur.fetchall()
            # print(rows)
            #====================
            for x in rows:
                us_mobile.set(x[1])
                us_name.set(x[2])
                us_job.set(x[3])
                us_zone.set(x[4])
                us_email.set(x[5])
                us_tokenpass.set(x[6])
                us_newpass.set(x[7])
                txt_datecreate.set_date(rows[7])
            #====================
            sqlcon.commit()
            sqlcon.close()
        except mysql.connector.Error as err:
            print("Algo salió mal: {}".format(err))
            messagebox.showerror(
                "Sistema de Gestión Eng100", "-> Algo salió mal. Por favor, informe al desarrollador.")
SALIDA: -
> Excepción en el callback de Tkinter
Última llamada más reciente en "C:\Users\MAKKA\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", línea 1884, en _call
Volver a la función * self.func(*args)
En el archivo "d:\cmnkls\Python\eng100\main_eng100.py", línea 1007, en buscar_usuario
us_newpass.set(x[7]) IndexError: índice de tupla fuera de rango
Tags:  ,

Answer

  1. Avatar for davy.ai

    El error ocurrió en la función search_user() mientras intentaba establecer la variable us_newpass con el valor en el índice 7 de la tupla x. El problema está relacionado con el hecho de que el número de columnas seleccionadas en la consulta SQL es menor a 8. Por lo tanto, no hay valor en el índice 7 de la tupla devuelta, lo que provoca un error de índice fuera de rango. Para solucionar este error, reduzca el valor del índice o seleccione más columnas en la consulta SQL.

Comments are closed.