Foros del Web » Programando para Internet » Python »

form python y MySQL

Estas en el tema de form python y MySQL en el foro de Python en Foros del Web. Hola, mi nombre es Sergio Quisiera saber si puedes ayudarme. Tengo un simple form diseñado en boa constructor con un textCtrl1, un Button llamado retroceder ...
  #1 (permalink)  
Antiguo 16/12/2008, 13:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 9
Antigüedad: 15 años, 11 meses
Puntos: 0
form python y MySQL

Hola, mi nombre es Sergio

Quisiera saber si puedes ayudarme.

Tengo un simple form diseñado en boa constructor con un textCtrl1, un Button llamado retroceder y otro button llamado avanzar.

Tengo MySQL con una base de datos llamada prueba y esta contiene una tabla llamada usuarios y esta a su vez tiene un campo llamado nombre.

Quiero que al presionar el botón avanzar o retroceder aparezcan los nombres de la base de datos uno por uno.

Y si fuera posible saber como poder ingresar nombres desde el formulario a la base de datos.

Espero de su comprensión.

Y me despido muy cordialmente

Sergio Villegas Echeverría.
  #2 (permalink)  
Antiguo 16/12/2008, 13:20
 
Fecha de Ingreso: diciembre-2008
Ubicación: PERU
Mensajes: 294
Antigüedad: 15 años, 11 meses
Puntos: 23
Respuesta: form python y MySQL

Cita:
Iniciado por sergio1973 Ver Mensaje
Hola, mi nombre es Sergio

Quisiera saber si puedes ayudarme.

Tengo un simple form diseñado en boa constructor con un textCtrl1, un Button llamado retroceder y otro button llamado avanzar.

Tengo MySQL con una base de datos llamada prueba y esta contiene una tabla llamada usuarios y esta a su vez tiene un campo llamado nombre.

Quiero que al presionar el botón avanzar o retroceder aparezcan los nombres de la base de datos uno por uno.

Y si fuera posible saber como poder ingresar nombres desde el formulario a la base de datos.

Espero de su comprensión.

Y me despido muy cordialmente

Sergio Villegas Echeverría.
Tu pregunta esta algo confusa pero aqui aclaro lo que tu quieres, tienes dos botones avanzar y retroceder y cuando se presionen esos botones aparesca los datos cada vez q presiones el boton retroceder o avanzar, verdad? y tu base de datos se llama 'prueba'.
hmmm voy a tratar hacerlo en wxpython, porque el BOA Constructor no lo uso.
Otra cosita mas pero sin ofender, si estas estudiando sistemas no crees tú que una mejor solucion es poner un textbox y buscar el dato mediante una consulta? asi me evito de presionar los botones hasta encontrar el dato.
bueno mi opinion, pero de todos modos voy a tratar de hacerlo en wxpython..
Suerte.. mas tarde regreso a responder antes que me ganen ^^
  #3 (permalink)  
Antiguo 17/12/2008, 06:48
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: form python y MySQL

Se me ocurren dos formas de hacer esto:
1.- obtener todos los usuarios en una lista, con una consulta al principio del programa
2.- hacer una consulta cada vez que se deba "avanzar" o "retroceder"

Esto es: los botones "avanzar" y "retroceder" simplemente deben cargar los datos de otro usuario y forzar una actualización de la pantalla. Si lo hacés con la opción 1, cada botón puede manejar un índice numérico que usarás para obtener los datos, algo como

-> acción asociada al botón: actualizar(i)
-> la función actualizar(i): datos = lista_de_resultados[i]
-> cargar "datos" en la ventana
-> regenerar los parámetros de las acciones de los botones.

Si lo hacés con la opción 2, solamente cambia el segundo paso: en vez de obtener los resultados de una lista, usarás la cláusula LIMIT o WHERE para obtener el registro que te interesa:
Código sql:
Ver original
  1. SELECT[lista de campos] FROM tabla WHERE id_usuario = [parametro]
o
Código sql:
Ver original
  1. SELECT[lista de campos] FROM tabla LIMIT [parametro], 1

Creo que la primera opción es más eficiente, pero la segunda es más coherente con la idea de "navegación" entre los resultados.

No puedo darte detalles de implementación porque no tengo un entorno wxPython en este momento.


Saludos
  #4 (permalink)  
Antiguo 17/12/2008, 13:40
 
Fecha de Ingreso: diciembre-2008
Ubicación: PERU
Mensajes: 294
Antigüedad: 15 años, 11 meses
Puntos: 23
Respuesta: form python y MySQL

Aqui tienes un ejemplo ya casi para perfeccionarlo.
Bueno me vas a disculpar que no te deje el codigo, asi que mejor te dejo la aplicacion para q descarges.


Aqui estoy usando una clase para realizar el next>>
http://www.megaupload.com/es/?d=JKEZRL5H
Bueno espero q te sirva para darte una idea.

Create una base de datos con el nombre: bddemo
Aqui te dejo el script.

Código sql:
Ver original
  1. CREATE TABLE empleados (
  2.   Idemplead VARCHAR(5) NOT NULL,
  3.   Empleado VARCHAR(25) NOT NULL,
  4.   Telefono INTEGER(11) UNSIGNED NOT NULL,
  5.   Sueldo DECIMAL(8,2) NOT NULL,
  6.   PRIMARY KEY(Idemplead)
  7. );
  8.  
  9. CREATE TABLE producto (
  10.   idproducto VARCHAR(5) NOT NULL,
  11.   producto VARCHAR(15) NOT NULL,
  12.   stock INTEGER(10) UNSIGNED NOT NULL,
  13.   precipro DECIMAL(8,2) NOT NULL,
  14.   PRIMARY KEY(idproducto)
  15. );
  16.  
  17. CREATE TABLE detboleta (
  18.   cabboleta_nroboleta VARCHAR(5) NOT NULL,
  19.   producto_idproducto VARCHAR(5) NOT NULL,
  20.   descripcion VARCHAR(15) NOT NULL,
  21.   cantidad INTEGER(11) NOT NULL,
  22.   precioprod DECIMAL(8,2) NOT NULL,
  23.   PRIMARY KEY(cabboleta_nroboleta, producto_idproducto),
  24.   INDEX detboleta_FKIndex1(cabboleta_nroboleta),
  25.   INDEX detboleta_FKIndex2(producto_idproducto)
  26. );
  27.  
  28. CREATE TABLE cabboleta (
  29.   nroboleta VARCHAR(5) NOT NULL,
  30.   empleados_Idemplead VARCHAR(5) NOT NULL,
  31.   Clientes_idcliente VARCHAR(5) NOT NULL,
  32.   total DECIMAL(8,2) NOT NULL,
  33.   PRIMARY KEY(nroboleta),
  34.   INDEX cabboleta_FKIndex1(Clientes_idcliente),
  35.   INDEX cabboleta_FKIndex2(empleados_Idemplead)
  36. );
  37.  
  38. CREATE TABLE clientes (
  39.   idcliente VARCHAR(5) NOT NULL,
  40.   cliente VARCHAR(25) NOT NULL,
  41.   direccion VARCHAR(20) NOT NULL,
  42.   telefono INTEGER(11) UNSIGNED NOT NULL,
  43.   PRIMARY KEY(idcliente)
  44. );
  45.  
  46.  
  47.  
  48. ////para insertar datos////
  49.  
  50. INSERT INTO `bddemo`.`empleados` (
  51. `Idemplead` ,
  52. `Empleado` ,
  53. `Telefono` ,
  54. `Sueldo`
  55. )
  56. VALUES (
  57. 'e0001', 'jose Guzman', '501167', '30.00'
  58. ),(
  59. 'e0002', 'pedro carrasco', '306040', '25.00'
  60. ),(
  61. 'e0003', 'Luis Figueroa', '701160', '30.0'
  62. ),(
  63. 'e0004', 'Jaime Wong', '801167', '25.00'
  64. );
  65.  
  66.  
  67. ///////////////
  68.  
  69.  
  70. INSERT INTO `bddemo`.`producto` (
  71. `idproducto` ,
  72. `producto` ,
  73. `stock` ,
  74. `precipro`
  75. )
  76. VALUES (
  77. 'p0001', 'QuadCore', '10', '40.00'
  78. ),(
  79. 'p0002', 'Nvidia GT', '5', '25.00'
  80. ),(
  81. 'p0003', 'RAM 1GB', '25', '30.0'
  82. ),(
  83. 'p0004', 'Case Halion', '15', '25.00'
  84. );
  85.  
  86. ///////////////
  87.  
  88.  
  89. INSERT INTO `bddemo`.`clientes` (
  90. `Idcliente` ,
  91. `cliente` ,
  92. `direccion` ,
  93. `Telefono`
  94. )
  95. VALUES (
  96. 'c0001', 'Enzo Franco', 'Cercado E-12', '227127'
  97. ),(
  98. 'c0002', 'Jaime Torque', 'Calle Rivera', '452254'
  99. ),(
  100. 'c0003', 'Luis Navaja', 'Mariscal Miller', '19542214'
  101. );

Última edición por yuo2; 17/12/2008 a las 14:13
  #5 (permalink)  
Antiguo 17/12/2008, 17:30
 
Fecha de Ingreso: diciembre-2008
Ubicación: PERU
Mensajes: 294
Antigüedad: 15 años, 11 meses
Puntos: 23
Respuesta: form python y MySQL

Aqui lo tienes


Descargar
http://www.megaupload.com/?d=2X0TC8SQ

Hecho en wxpython. Create un clase con tus variables globales y listo.
Pero ojo create una variable que guarde la cantidad de filas de tu consulta de sql y la remplazas en la condicional IF, aqui le puse que no sea mayor de 3 (porque solo bota 3 filas mi consulta sql), pero tu puedes complementarlo con esa variable que guarda la cantidad de filas de tu consulta.

Han intentado usar esta sentencia>
globals a
* Estoy que leo algunos foros y segun dicen que es para declarar variables globales. o,O

Última edición por yuo2; 17/12/2008 a las 17:44
  #6 (permalink)  
Antiguo 06/01/2009, 08:02
 
Fecha de Ingreso: diciembre-2008
Mensajes: 9
Antigüedad: 15 años, 11 meses
Puntos: 0
consulta2

Hola denuevo,

Hice un form con los botones de avanzar y retroceder utilizando las globales, y resulto perfecto, pero se podría que no tuvieran un tope, en vez de 3 o 10 etc.

y otro punto cuando el boton de avanzar queda en la posicion 4, y enseguida presiono el boton de retroceder unas 2 veces, al volver a presionar el boton de avanzar este debiera quedar en la posicion 3, pero envez de eso este continua su posicion en 5,
en otras palabras estos botones se comportan indistintamente.

a proposito ¿cual es tu email?, así podría enviarte unos de mis ensayos.
mi email es [email protected]

bueno eso es todo, bye.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:59.