Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/09/2014, 16:54
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Error con Entry y Get()

Es porque efectivamente self.tbx_usuario es None y me acabo de dar cuenta que tienes pegado el metodo grid, no me sorprende porque no te jala.

Código Python:
Ver original
  1. from tkinter import *
  2. import pypyodbc
  3.  
  4. root=Tk()
  5. root.resizable(0,0)
  6. root.geometry('600x300+500+300')
  7.  
  8. class Principal():  
  9.     def valida_acceso(self):
  10.         connection_string ='Driver={SQL Server Native Client 11.0};Server=150.150.1.2;Database=Sh;Uid=sp;Pwd=sp;'
  11.         connection = pypyodbc.connect(connection_string)
  12.         SQL = "SELECT * FROM Usuarios WHERE Usuario=?"
  13.         cur = connection.cursor()
  14.         a = self.tbx_usuario.get()
  15.         cur.execute(SQL,a)
  16.         row= cur.fetchone()
  17.         if row:
  18.             print (row[0], row[1])
  19.         connection.commit()
  20.         cur.close()
  21.         connection.close()
  22.        
  23.     def pantalla_login(self):
  24.         lab_usuario = Label(root, text="Usuario: ", font=("Helvetica", 14,
  25.                              'bold'),bg='red').grid(row=3, column=1, sticky=W)
  26.         self.tbx_usuario = Entry(root, text="Usuario", textvariable=StringVar(), font=
  27.                               ("Helvetica", 14),fg='blue')
  28.         self.tbx_usuario.grid(row=3, column=2, sticky=W)
  29.         Button(root, text="Accesar".format(1),font=("Helvetica", 14,'bold'),
  30.                             command=self.valida_acceso).grid(row=6,column=2,sticky=E)
  31.         root.mainloop()
  32.  
  33. principal = Principal()
  34. principal.pantalla_login()
Encuentra la diferencia.