Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #13  
Antiguo 11-11-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
Estás usando el mismos dataset para gestionar el while y para hacer las inserciones. Al hacer el SQL.Clear, lo destripas.
Además, las instrucciones SQL no tienes que volverlas a crear. Simplemente, cambias los valores de los parámetros y las ejecutas.
Observa cómo he realzaido los bucles. Tu código no tiene mucha lógica, ya que no tiene las iteraciones hechas correctamente.

Echa un vistazo a este código y dinos qué te parece. Indenta el código correctamente, tú mismo lo agradecerás.

Código Delphi [-]
Procedure TF_CargosA.InsertaRegistros;
var fccodigo : string;
begin
  // defines la query de clientes
    DataM.Q_Clientes.SQL.Clear;
    DataM.Q_Clientes.Close;
    DataM.Q_Clientes.SQL.Add('SELECT FC_CODIGO FROM SCLIENTES');

  // defines la query de actualización
    DataM.Q_CargosF.SQL.Clear;
    DataM.Q_CargosF.Close;
    DataM.Q_CargosF.SQL.Add('INSERT INTO SCARGOSFIJOS  (FCF_CLIENTE,FCF_CODIGOPRODUCTO)');
    DataM.Q_CargosF.SQL.Add('VALUES  (aram1, aram2)');

  // abres la q de clientes y te posicionas en el primero
    DataM.Q_Clientes.Open;
    First;
  // recorres la query de clientes
    while not DataM.Q_Clientes.Eof do
      begin;
        // por cada registro, lanzas la query de actualización
        fccodigo := FieldByName('FC_CODIGO').AsString;
        DataM.Q_CargosF.ParamByName('param1').AsString := fccodigo;
        DataM.Q_CargosF.ParamByName('param2').AsString := Edit1.Text;
        DataM.Q_CargosF.ExecSQL;

        // siguiente registro de clientes
        Next;
     end; //while

end;

Espero que te sirva de ayuda

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Insertar Datos a un campo de la base de datos desde un DBEdit saltamirano Varios 11 12-12-2007 17:29:35
como desplegar mensaje repetitivo en rango de tiempo Jheysson13 Varios 2 15-11-2006 18:47:23
Insertar datos en Base de Datos aoiTo C++ Builder 2 18-06-2006 15:42:43
crear label por codigo en un ciclo for.. las beses de el ciclo sakuragi .NET 3 29-09-2005 05:04:29
validar una fecha en un ciclo repetitivo.... uper Varios 6 25-05-2005 02:21:10


La franja horaria es GMT +2. Ahora son las 22:46:42.


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
Copyright 1996-2007 Club Delphi