Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas al insertar en una tabla (https://www.clubdelphi.com/foros/showthread.php?t=9275)

vhirginia 21-04-2004 12:02:34

El programa se para,pero si que elimina registros de la tabla
 
No nos da la línea del error,sólo nos dice que la tabla de clientes no esta en insert o edit mode.
Muchas gracias

guillotmarc 21-04-2004 13:15:36

Hola.

Solo un consejo, este código es muy dificil de mantener y entender. Ponle nombres a los componentes, y evita el acceder a los componentes de otros formularios.

En lugar de Form9 y Form23, llámalos frmClientes y frmProductos, y en lugar de BitBtn1 y Button1 llámalos btnInsertar y btnGuardar. O algo parecido, verás como entonces el código se entiende mucho mejor.

Además accedes directamente a las propiedades y componentes de un Formulario desde otros. Esto puede ser un gran problema cuando el programa sea muy grande, puesto que cuando debas modificar un formulario, no sabes en cuantos otros sitios te va a afectar. Para eso se inventó la modularidad, lo que hay dentro de un formulario solo lo debe tocar él mismo. Si otros formularios necesitan algo, declara un función pública para que la llamen, y programa el código en esa función (que estará en el mismo formulario).

O sea donde pones :

Código:

procedure TForm23.Button1Click(Sender: TObject);
begin
Form9.Tabla_clientes.Post;
Form23.Visible:=false;
Form24.Visible:=true;
end;

Seria mejor algo como :

Código:

procedure frmProductos.btnGuardarClick(Sender: TObject);
begin
  frmClientes.Guardar;
  Visible := false;
  frmPrincipal.Mostrar;
end;
/* La próxima función estará definida publicamente en frmClientes (antes Form9) */
procedure frmClientes.Guardar;
begin
  TablaClientes.Post;
end;
/* La próxima función estará definida publicamente en frmPrincipal (antes Form24) */
procedure frmPrincipal.Mostrar;
begin
  Visible := True;
end;


vhirginia 21-04-2004 13:18:42

Ya hemos solucionado nuestros problemas con las tablas, muchas gracias.Le queríamos comentar a jachguate :
-Todavía no tenemos tu nivel de conocimientos de delphi,pero muchas gracias por el recochineo de tus comentarios

guillotmarc 21-04-2004 13:21:21

Cita:

Empezado por vhirginia
No nos da la línea del error,sólo nos dice que la tabla de clientes no esta en insert o edit mode.

Pues lo dice muy claro. En esa tabla no has hecho el Insert. O el Insert lo has hecho en otra tabla (quizá con el mismo nombre pero en otro formulario), o bien no has ejecutado el código que debería hacer el Insert.

Saludos.

roman 21-04-2004 16:22:09

Cita:

Empezado por vhirginia
comentar a jachguate :
-Todavía no tenemos tu nivel de conocimientos de delphi,pero muchas gracias por el recochineo de tus comentarios

vhirginia, debo decirte que me sorprende este comentario. He releido las observaciones de jachguate y me parecen respetuosas y solamente da algunas indicaciones que facilitan a los demás leer el código lo cual redunda en beneficio propio de quienes formulan una pregunta. El compañero jachguate ha sido siempre una persona muy dispuesta a ayudarnos a todos.

// Saludos

jachguate 21-04-2004 16:43:17

Cita:

Empezado por vhirginiapero
muchas gracias por el recochineo de tus comentarios

Por el queeeeee????

Menos mal que existe la encarta... tuve que valerme de ella para saber que me querias decir.

Cita:

Empezado por encarta
recochineo.

m. coloq. Burla o ironía molestas que acompañan a algo que se hace o dice

No acostumbro dar explicaciones... pero lo haré esta vez para que no se de un malentendido...

Me imagino que te referis a esto:

Cita:

Empezado por jachguate
Tu intento de poner las etiquetas code ha sido bueno...

Esto no lo dije ironicamente... lo dije en serio, podes comprobarlo con la frase siguiente:
Cita:

Empezado por jachguate
pero te faltó la barra para cerrarlas:

[ code] [ /code](sin el espacio).

y a esto:

Cita:

Empezado por jachguate
Bueno... esa suposición es correcta y lógica, no te parece??

Esto si que es irónico... pero podes tomarlo como la ironia de un amigo :p

Hasta luego.

;)

marcoszorrilla 21-04-2004 17:36:31

Como he participado en el hilo aunque brevemente, tengo que añadir que nuestro compañero JachGuate, según ya dijo Román se caracteriza por ser una persona educada por lo que te puedo asegurar que no hubo "recochineo", simplemente una interpretación erronea de sus palabras.

Un Saludo a todos.

vhirginia 21-04-2004 18:53:58

Muchas gracias
 
No pasa nada hombre, muchas gracias a todos por vuestra ayuda. Nos habéis sido de gran utilidad y lo seguireis siendo, pq todavia nos quedan algunas cosillas por ahí.¿de donde sois?

jachguate 21-04-2004 22:13:28

Guatemala! :p Te suena... ;)

marcoszorrilla 21-04-2004 22:41:24

Yo de (Cantabria) España.

Un Saludo.

roman 21-04-2004 22:54:57

Ciudad de México, Presente

// Saludos


La franja horaria es GMT +2. Ahora son las 20:58:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi