Python - ¿Cómo insertar información contenida en una tabla de mysql en un treeview de Tkinter?

 
Vista:

¿Cómo insertar información contenida en una tabla de mysql en un treeview de Tkinter?

Publicado por Didier Omar (2 intervenciones) el 27/03/2019 04:23:09
Saludos, estoy trabajando con python 2 y he creado una pequeña interfaz en la que muestro algunas columnas de un treeview, las cuales me gustaría que estuvieran llenas con información obtenida de una tabla que he creado en mysql pero no comprendo muy bien el codigo que necesito para insertar dicha información tengo un código de ejemplo pero me marca un error en la sintaxis, me gustaría mucho que alguien me pudiera ayudar con dicho código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
def busqueda(self):
 
    root=Tk.Tk()
    root.geometry("610x240")
 
    tree=ttk.Treeview(root)
 
    tree["columns"] = ("one", "two", "three", "for")
    tree.column("one", width=100)
    tree.column("two", width=100)
    tree.column("three", width=100)
    tree.column("for", width=100)
 
    tree.heading("#0", text='Cedula')
    tree.heading("one", text="Nombre(s)")
    tree.heading("two", text="Apellido(s)")
    tree.heading("three", text="Cargo")
    tree.heading("for", text="Telefono")
 
    try:
        conexion1=mysql.connector.connect(host="127.0.0.1", user="root", passwd="", database="proyecto")
        cursor1=conexion1.cursor()
        cursor1.execute("""SELECT Cedula FROM biomedico WHERE cedula =%s""", (i,))
        Cedula=cursor1.fetchone()
        cursor1.execute("""SELECT Nombres FROM biomedico WHERE cedula =%s""", (i,))
        Nombres=cursor1.fetchone()
        cursor1.execute("""SELECT Apellidos FROM biomedico WHERE cedula =%s""",(i,))
        Apellidos=cursor1.fetchone()
        cursor1.execute("""SELECT Cargo FROM biomedico WHERE cedula =%s""",(i,))
        Cargo=cursor1.fetchone()
        cursor1.execute("""SELECT Telefono FROM biomedico WHERE cedula =%s""",(i,))
        Telefono=cursor1.fetchone()
 
    tree.insert("", i, text=i, values=(Cedula, Nombres, Apellidos, Cargo, Telefono)),
 
    tree.pack()
    root.mainloop()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi
Val: 666
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

¿Cómo insertar información contenida en una tabla de mysql en un treeview de Tkinter?

Publicado por Xavi (47 intervenciones) el 27/03/2019 08:19:28
Hola Didier, si te refieres a este error:
tree.insert("", i, text=i, values=(Cedula, Nombres, Apellidos, Cargo, Telefono)),
^
SyntaxError: invalid syntax


Es porque has abierto un try: y te falta el catch:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cómo insertar información contenida en una tabla de mysql en un treeview de Tkinter?

Publicado por Didier Omar (2 intervenciones) el 27/03/2019 18:38:20
Gracias por la observación, he cerrado el try: pero me marca el siguiente error en la sintaxis "Undefinided variable i".
No se si puedas apoyarme en la corrección en esta parte.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
try:
    conexion1=mysql.connector.connect(host="127.0.0.1", user="root", passwd="", database="proyecto")
    cursor1=conexion1.cursor()
    cursor1.execute("""SELECT Cedula FROM biomedico WHERE cedula =%s""", (i,))
    Cedula=cursor1.fetchone()
    cursor1.execute("""SELECT Nombres FROM biomedico WHERE cedula =%s""", (i,))
    Nombres=cursor1.fetchone()
    cursor1.execute("""SELECT Apellidos FROM biomedico WHERE cedula =%s""",(i,))
    Apellidos=cursor1.fetchone()
    cursor1.execute("""SELECT Cargo FROM biomedico WHERE cedula =%s""",(i,))
    Cargo=cursor1.fetchone()
    cursor1.execute("""SELECT Telefono FROM biomedico WHERE cedula =%s""",(i,))
    Telefono=cursor1.fetchone()
 
except ValueError:
    print "Oops! Try again..."
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar