FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problemas con ZEOS
Hola a todos! soy nuevo usando los componentes zeos para delphi7! mi problema es el siguiente! Estoy utilizando un Zconnection, Ztable, Datesource y DBgrid. Bien al momento de correr el programa carga los datos de la base de datos perfetamente en el DBgrid! pero cuando intento insertar un nuevo registro me muestra el siguiente error!:
"Project Histoca_Pro.exe raised exception class EStackOverflow with message 'Stack overflow'. Process stopped. use step or run to continue" los datos los obtengo de unos edit y al darle a un boton los guardo(pero no lo hace)... el codigo en el boton es el siguiente: Ztable1.Open; Ztable1.Insert; Ztable1.FieldByName('cedula').AsString := Edit1.Text; Ztable1.FieldByName('nombres').AsString := Edit2.Text; Ztable1.FieldByName('apellidos').AsString := Edit3.Text; Ztable1.Post;
__________________
ViVe y Deja Morir!! |
#2
|
||||
|
||||
¡Hola!
Una causa muy común de esa excepción es cuando el programa entra en recursión infinita. Una proceso recursivo es aquel que resulta en la ejecución de una rutina (procedimiento, función, método, evento) antes de haber terminado una ejecución anterior de esa misma rutina. En muchas situaciones es útil emplear procesos recursivos, pero cuando esto sucede de forma no controlada el resultado puede ser el agotamiento de la memoria, por no darse ninguna condición que evite alguna de las llamadas que el código realiza, repitiéndose el ciclo de llamadas indefinidamente. Cuando se da esta recursión "infinita", el espacio de memoria donde el programa guarda variables y otros datos por cada llamada a alguna rutina llega al punto de "desbordamiento" (stack overflow). Así sucede, por ejemplo, en este caso:
Si tras ocurrir la excepción, presionas en el editor de Delphi la combinación de teclas Ctrl+Alt+S, aparecerá una de las muchas ventanas informativas del depurador, conocida como pila de llamadas (call stack). En ella podrás observar cuál fue el camino que siguió el programa hasta el punto donde ocurrió la excepción y con ello descubrir si estás haciendo mal uso de algún evento u otro elemento del programa, o en sí las rutinas que se están repitiendo una y otra vez y qué origina esa repetición. Aunque también podría ser otra la causa, como bien lo dice la propia ayuda de Delphi: Cita:
Otra tarea de depuración sería colocar un punto de ruptura (tecla F5) en tu instrucción Open, y desde ese punto ejecutar el programa sentencia por sentencia (tecla F8). Esto para saber cuál de ellas es la rama que deriva en el error que aparece en pantalla. Espero haber orientado. No dejes de comentarnos las novedades que hayas encontrado. Al González. |
#3
|
||||
|
||||
Mas bien creo que estás haciendo esa inserción a la BD varias veces, supongo que para algun proceso en particular, ya que no pones más código. Revisa si pusiste un ciclo repeat-until, o while Do que la condición que lo controla realmente se cumpla y/o que no se te haya olvidado mover el control de la condicion, como cuando le dices: "repetir esto hasta que i=5 y resulta que en el ciclo nunca haces i=i+1", por lo tanto i nunca será 5.
Por otro lado, es mejor usar Append que Insert ya que la primera coloca el nuevo registro al final de la tabla mientras que Insert lo hace en el lugar donde se encuentre el cursor en ese momento. Si pones algo más de código sin duda será de ayuda.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas con la conexion con Zeos | Pachangero | MySQL | 5 | 24-01-2009 19:04:26 |
zeos lib problemas instalar | vroa74 | OOP | 0 | 10-10-2008 22:09:10 |
problemas con zeos...ayuudaaaa | Jheysson13 | Conexión con bases de datos | 33 | 25-06-2008 00:02:00 |
Problemas con Zeos y TDBChart :D | pgraciap | MySQL | 1 | 21-11-2005 20:38:15 |
Problemas con Zeos + Interbase | pyanqn | Conexión con bases de datos | 2 | 02-11-2005 15:40:34 |
|