Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
no deja guardar 2 veces

que hay amigos aqui con una dudilla haber si me pueden ayudar tengo un codigo que ahorita voy a mostrar donde puedo guardar registros y en caso de que ya exista me los actualiza cuando hago el procedimiento de guardar o actualizar por primera vez todo muy bien si hace el trabajo pero si lo quiero hacer de nuevo me marca un error raised exeption class EMysqlexeption with message (entre otras cosas no se si sea importante ponerlas)

Código Delphi [-]
procedure TForm1.guardarClick(Sender: TObject);
begin
tabla.Close;

tabla.SQL.Clear;

tabla.SQL.Add('insert into datos(folio, nombre, fecha, estado,problema,resuelto) values(:pfolio, :pnombre, :pfecha, :pestado, :pproblema,:presuelto)');

tabla.ParamByName('pfolio').AsString:=folio.Text;
tabla.ParamByName('pnombre').AsString:=nombre.Text;
tabla.ParamByName('pfecha').AsDate:=fecha.DateTime;
tabla.ParamByName('pestado').AsString:=estado.Text;
tabla.ParamByName('pproblema').AsString:=problema.Text;
tabla.ParamByName('presuelto').Asstring:=nombre.Text;
tabla.Execute;

  showmessage('grabado con exito');
end;

Última edición por ecfisa fecha: 26-04-2012 a las 19:59:46. Razón: quitar íconos del código
Responder Con Cita
  #2  
Antiguo 26-04-2012
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por edgar_prospero Ver Mensaje
Código Delphi [-]procedure TForm1.guardarClick(Sender: TObject); begin tabla.Close; tabla.SQL.Clear; tabla.SQL.Add('insert into datos(folio, nombre, fecha, estado,problema,resuelto) values(folio, nombre, fecha, estado, problema,resuelto)'); tabla.ParamByName('pfolio').AsString:=folio.Text; tabla.ParamByName('pnombre').AsString:=nombre.Text; tabla.ParamByName('pfecha').AsDate:=fecha.DateTime; tabla.ParamByName('pestado').AsString:=estado.Text; tabla.ParamByName('pproblema').AsString:=problema.Text; tabla.ParamByName('presuelto').Asstring:=nombre.Text; tabla.Execute; showmessage('grabado con exito'); end;
Pues así, a primera vista, parecería que estás duplicando el registro..., o alguno de tus parámetros está entrando con valor nulo.

Cita:
Empezado por edgar_prospero Ver Mensaje
... un error raised exeption class EMysqlexeption with message (entre otras cosas no se si sea importante ponerlas)...
¡¡PERO CLARO QUE ES IMPORTANTÍSIMO DOCUMENTAR LOS ERRORES QUE TE MANDA TU DESARROLLO!! ¿O cómo esperas que te orientemos si no conocemos el problema? Al menos yo, no soy adivino...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #3  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
jajaja ok ok tienes toda la razon hay va el mensaje completo haber si me pueden orientar en mi problema raised exeption class EMysqlexeption with message
#42000 you have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'insert into datos(folio, nombre, fecha, estado, problema, resuelto) value ('3', 'jo' at line 2
Responder Con Cita
  #4  
Antiguo 26-04-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola edgar.

Revisá si te puede servir este enlace

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
ese enlace segun entendi habla sobre el uso de palabras reservadas pero creo que ese no es mi caso porque al correr el programa y guardar no hay problema el asunto viene cuando limpio los edit e intento guardar otro registro es cuando viene el error
Responder Con Cita
  #6  
Antiguo 26-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que tienes que dar mucha más información, así sólo podemos estar intentando adivinar

Por ejemplo:
  • 'folio' ¿es un campo numérico o de texto?
  • Se supone que algún campo de esos es clave primaria, ¿cual?.
Responder Con Cita
  #7  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
muchas gracias por su tiempo y ayuda encontre mi error a la hora de limpiar los edit le agregue
tabla.SQL.Clear;
y ya con eso no me marca el error y ya me permite guardar y actualizar informacion
Responder Con Cita
  #8  
Antiguo 26-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por edgar_prospero Ver Mensaje
muchas gracias por su tiempo y ayuda encontre mi error a la hora de limpiar los edit le agregue
tabla.SQL.Clear;
y ya con eso no me marca el error y ya me permite guardar y actualizar informacion
Eso ya lo hacías antes, ahí está el código

Además que eso no puede ser
Responder Con Cita
  #9  
Antiguo 26-04-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Edgar.

Aunque no uso mysql, eso fué lo primero que se me vino a la cabeza, pero como en tu código incial dice:
Código Delphi [-]
procedure TForm1.guardarClick(Sender: TObject);
begin
tabla.Close;

tabla.SQL.Clear;  // << ==
...
Lo descarté.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
si yo se que en el codigo que muestro ahi esta pero mi problema se soluciono cuando le agregue eso a un boton que llame limpiar
y si con eso se soluciono mi problema

Código Delphi [-]
procedure TForm1.limpiarClick(Sender: TObject);
begin

folio.Clear;
nombre.Clear;
estado.Clear;
problema.Clear;
folio.SetFocus;
  tabla.SQL.Clear;
Responder Con Cita
  #11  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
gracias ecfisa y pues si yo tambien no lo habia agregado a la hora de limpiar porque ya lo tenia en ese proceso pero despues de estar intentando pues al fin quedo muchas gracias y hay los seguire molestando cuando me vuelva a surgir mas problemas
Responder Con Cita
  #12  
Antiguo 26-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, nunca nos enteraremos, pero está claro que eso no puede ser así, salvo que hayas puesto aquí un código que no es realmente el que estás usando
Responder Con Cita
  #13  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
que pues amigo te estoy siendo sincero eso que puse es el mismo codigo que estoy usando y con lo que te dije se soluciono mi problema no tengo porque mentir y si tienes tantas dudas de lo que digo pues intenta implementarlo a ver si te marca el mismo error a ti
Responder Con Cita
  #14  
Antiguo 26-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Nadie ha dicho que mientas
Seguramente has cambiado alguna otra cosa y después has puesto eso en 'limpiarclick' y ha funcionado, pero no por eso, sino por lo que hayas hecho antes.
Responder Con Cita
  #15  
Antiguo 26-04-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
Casimiro Notevi me dejaste pensando y quite esa linea de codigo y me marco el error y se la puse y ya sin problema
codigo para guardar la informacion

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin;

tabla.Close;
tabla.SQL.Add('insert into datos(folio, nombre, fecha, estado, problema,resuelto)values(folio, nombre, fecha, estado, problema,resuelto) on duplicate key update nombre=nombre,fecha=fecha, estado=: pestado, problema=: pproblema,resuelto=resuelto');
tabla.ParamByName('pfolio').AsString:=folio.Text;
tabla.ParamByName('pnombre').AsString:=nombre.Text;
tabla.ParamByName('pfecha').AsDate:=fecha.DateTime;
tabla.ParamByName('pestado').AsString:=estado.Text;
tabla.ParamByName('pproblema').AsString:=problema.Text;
tabla.ParamByName('presuelto').Asstring:=nombre.Text;
tabla.Execute;

  tabla.SQL.Clear;

  showmessage('grabado con exito ');
end;

codigo para limpiar la informacion es a lo unico que le he podido mover desde que puse mi pregunta y asi es como lo tengo actualmente

Código Delphi [-]
procedure TForm1.limpiarClick(Sender: TObject);
begin

folio.Clear;
nombre.Clear;
estado.Clear;
problema.Clear;
folio.SetFocus;
  tabla.SQL.Clear;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tuve un déjà vu Casimiro Notevi La Taberna 12 20-11-2009 19:59:26
deja de funcionar Patricio Varios 8 18-11-2008 18:13:42
ibdatabase y firebird a veces si a veces no Patricio Conexión con bases de datos 13 18-09-2008 14:01:21
No me deja utilizar el QuickRep nuri Impresión 1 07-07-2005 13:20:07


La franja horaria es GMT +2. Ahora son las 18:07:36.


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