Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-05-2006
Avatar de Nathan
Nathan Nathan is offline
Miembro
 
Registrado: feb 2004
Ubicación: NeverLand
Posts: 35
Poder: 0
Nathan Va por buen camino
Error al actualizar las tablas

Hola Gente
les comento el problema que tengo, que al actualizar la tabla 'detalle_factura' lo guarda con 'null'.

Código SQL [-]
procedure TDatos.DetFactura(id, id2, obs: string;  idC: integer);
begin
  Actualizar.SQL.Clear;
  with Actualizar.SQL  do
  begin
    Add('UPDATE DetFactura SET ');
      Add('Id =:valor,');
      Actualizar.Parameters.ParamByName('valor').Value:=id;
      Add('IdFact =:valor,');
      Actualizar.Parameters.ParamByName('valor').Value:=id2;
      Add('Observaciones =:valor2');
      Actualizar.Parameters.ParamByName('valor2').Value:=obs;
    Add('WHERE IdDetFact =:valorX');
    Actualizar.Parameters.ParamByName('valorX').Value:=idC;
  end;// fin with
  Actualizar.ExecSQL;
end;

lo raro es que no genera ningun error en la compilacion y ejecucion , pero lo guarda con null y cuando lo realizo por la consola de mysql no da error, alguien me podria decir que es lo que estoy haciendo mal ?.

pd.- estoy usando en la conexcion Ado y MySql.


De antemano gracias.

Última edición por Nathan fecha: 29-05-2006 a las 04:34:59.
Responder Con Cita
  #2  
Antiguo 29-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Supongo que será errores de copiar y pegar, pero tienes 3 parámetros que se llaman "valor".

Lo normal es hacerlo así:
Código Delphi [-]
procedure TDatos.DetFactura(id, id2, obs: string;  idC: integer);
begin
  Actualizar.SQL.Clear;
  with Actualizar.SQL  do
  begin
    Add('UPDATE DetFactura SET Id =: prId, IdFact =: prIdFac, Observaciones =: prObservaciones');
    Add('WHERE IdDetFact =: prIdDetFact');
      Actualizar.Parameters.ParamByName('prId').Value:=id;
      Actualizar.Parameters.ParamByName('prIdFac').Value:=id2;
      Actualizar.Parameters.ParamByName('prObservaciones').Value:=obs;
    Actualizar.Parameters.ParamByName('prIdDetFact').Value:=idC;
  end;// fin with
  Actualizar.ExecSQL;
end;
Ya que al dar valores a cada parámetro se tiene que hacer un parser de la cadena SQL para averiguar los parámetros, así que solo lo hacemos una sola vez.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 01-06-2006
Avatar de Nathan
Nathan Nathan is offline
Miembro
 
Registrado: feb 2004
Ubicación: NeverLand
Posts: 35
Poder: 0
Nathan Va por buen camino
Gracias Lepe por tu respuesta, ya resolvi el problema que me da verguenza decirlo , pero bueno me di cuenta que estaba utilizando parametro 'valor' para id y id2 es ahi donde se generaba el error.




Saludos.
Responder Con Cita
  #4  
Antiguo 01-06-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Como suele decirse, 4 ojos ven más que 2 , y nunca está demás ver como lo hacen otra gente, siempre se toman ideas.

Saludos y me alegro que se solucionara rápido.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Error al actualizar sanz Conexión con bases de datos 3 12-04-2006 17:57:41
Actualizar Tablas Ledian2006 Conexión con bases de datos 2 12-01-2006 14:43:01
Actualizar tablas de paradox zugazua2001 Conexión con bases de datos 1 02-11-2005 02:25:53
Actualizar mediante un UpdateSQL varias tablas relacionadas Sprite Conexión con bases de datos 11 24-09-2003 15:03:52


La franja horaria es GMT +2. Ahora son las 11:19:58.


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