Foros del Web » Programando para Internet » Python »

problemas con sqlite y wxpython

Estas en el tema de problemas con sqlite y wxpython en el foro de Python en Foros del Web. por favor necesito ayuda tengo este codigo self.Bind(wx.EVT_BUTTON,self.onboton) def onboton(self,event): x=self.textocodigo.GetValue() conexion=sqlite3.connect("MOTOS.S3DB") cursor=conexion.cursor() t=(x, ) cursor.execute("SELECT CODIGO,PRECIO FROM MOTOS WHERE DETALLE=?",t) for row in cursor: ...
  #1 (permalink)  
Antiguo 15/06/2011, 04:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 3 meses
Puntos: 1
Pregunta problemas con sqlite y wxpython

por favor necesito ayuda tengo este codigo

self.Bind(wx.EVT_BUTTON,self.onboton)

def onboton(self,event):

x=self.textocodigo.GetValue()
conexion=sqlite3.connect("MOTOS.S3DB")
cursor=conexion.cursor()
t=(x, )
cursor.execute("SELECT CODIGO,PRECIO FROM MOTOS WHERE DETALLE=?",t)
for row in cursor:
self.textocodigo2.SetValue(row[0])
self.textocodigo3.SetValue(row[1]

ahora tengo un texcontrol para sumar de dolares a pesos
self.textocodigo3 esta en dolares, como hago para sumar de dolares a pesos en otro texcontrol con otro boton?
  #2 (permalink)  
Antiguo 15/06/2011, 09:40
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: problemas con sqlite y wxpython

Puedes hacer otro query que te regrese la suma.
O puedes sumarlo a mano en python, solo no olvides convertirlo a entero.
  #3 (permalink)  
Antiguo 22/06/2011, 15:15
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 3 meses
Puntos: 1
Pregunta Respuesta: problemas con sqlite y wxpython

bueno probe esto y me da error
self.Bind(wx.EVT_BUTTON,self.onboton)

def onboton(self,event):

x=self.textocodigo.GetValue()
conexion=sqlite3.connect("MOTOS.S3DB")
cursor=conexion.cursor()
t=(x, )
cursor.execute("SELECT CODIGO,PRECIO FROM MOTOS WHERE DETALLE=?",t)
for row in cursor:
self.textocodigo2.SetValue(row[0])
dat1=self.textocodigo3.SetValue(row[1])
dat=self.textocodigo5.GetValue()

dattotal=float(dat)*dat1
print dattotal
el error es invalid literal for float():4,15
no se que hacer ya. por favor que alguien me ayude
  #4 (permalink)  
Antiguo 23/06/2011, 13:48
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: problemas con sqlite y wxpython

Cita:
Iniciado por poeta3d Ver Mensaje
bueno probe esto y me da error
self.Bind(wx.EVT_BUTTON,self.onboton)

def onboton(self,event):

x=self.textocodigo.GetValue()
conexion=sqlite3.connect("MOTOS.S3DB")
cursor=conexion.cursor()
t=(x, )
cursor.execute("SELECT CODIGO,PRECIO FROM MOTOS WHERE DETALLE=?",t)
for row in cursor:
self.textocodigo2.SetValue(row[0])
dat1=self.textocodigo3.SetValue(row[1])
dat=self.textocodigo5.GetValue()

dattotal=float(dat)*dat1
print dattotal
el error es invalid literal for float():4,15
no se que hacer ya. por favor que alguien me ayude
y si pongo

dattotal=int(dat)*int(dat1)
me da este error
ValueError: invalid literal for int() with base 10: '2,45'
  #5 (permalink)  
Antiguo 23/06/2011, 15:26
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: problemas con sqlite y wxpython

Código Python:
Ver original
  1. self.Bind(wx.EVT_BUTTON,self.onboton)
  2.        
  3.     def onboton(self,event):
  4.      
  5.             x=self.textocodigo.GetValue()
  6.             conexion=sqlite3.connect("MOTOS.S3DB")
  7.             cursor=conexion.cursor()
  8.             t=(x, )
  9.             cursor.execute("SELECT CODIGO,PRECIO FROM MOTOS WHERE DETALLE=?",t)
  10.             for row in cursor:
  11.                 self.textocodigo2.SetValue(row[0])
  12.                 dat1=self.textocodigo3.SetValue(row[1])
  13.                 dat=self.textocodigo5.GetValue()
  14.                              
  15.                 dattotal=float(dat)*dat1
  16.                 print dattotal

Como ya te he dicho, por favor formatea tu código. Ya sea con las etiquetas CODE o Highlight. Puedes darle click en el botón grande que dice citar para que veas como lo formateo.

Ahora si, vamos por partes.
  1. Python toma como separador de decimales el carácter '.'
  2. Si quieres la suma puedes hacer un query que te de la suma.
    Código MySQL:
    Ver original
    1. select sum(precio) as SumaPrecio from motos where detalle=?
  3. Has intentado con 4.25, tu sabes reemplazar la coma por el punto.
  4. Pensé que quería la suma, pero por el código, no entiendo bien lo que quieres.
En general, necesitas aprender mas python, leer mas sobre el lenguaje.
Tienes la idea, pero algo me dice que solo estas copy&paste código.
  #6 (permalink)  
Antiguo 23/06/2011, 16:46
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: problemas con sqlite y wxpython

[QUOTE=razpeitia;3904264]
Código Python:
Ver original
  1. self.Bind(wx.EVT_BUTTON,self.onboton)
  2.        
  3.     def onboton(self,event):
  4.      
  5.             x=self.textocodigo.GetValue()
  6.             conexion=sqlite3.connect("MOTOS.S3DB")
  7.             cursor=conexion.cursor()
  8.             t=(x, )
  9.             cursor.execute("SELECT CODIGO,PRECIO FROM MOTOS WHERE DETALLE=?",t)
  10.             for row in cursor:
  11.                 self.textocodigo2.SetValue(row[0])
  12.                 dat1=self.textocodigo3.SetValue(row[1])
  13.                 dat=self.textocodigo5.GetValue()
  14.                              
  15.                 dattotal=float(dat)*dat1
  16.                 print dattotal

lo hice como me dijiste asi y me da el error este
dattotal=float(dat)*dat1
TypeError: unsupported operand type(s) for *: 'float' and 'NoneType'


QUOTE]
  #7 (permalink)  
Antiguo 23/06/2011, 18:08
 
Fecha de Ingreso: diciembre-2010
Mensajes: 162
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: problemas con sqlite y wxpython

muchas gracias hermano ya solucione el problema. saludos

Etiquetas: sqlite, wxpython
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:04.