Ver Mensaje Individual
  #1  
Antiguo 06-12-2016
elmago00 elmago00 is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 86
Reputación: 11
elmago00 Va por buen camino
Como realizar multiples UPDATE desde un TStringlist

Hola,
e vuelto despues de un tiempo de ausencia, al foro que me hizo crecer como programador.
les tengo una consulta.

Tengo dos tablas mysql "tipomayor" y "tipomenor" la primera tiene los primeros 4 números con que empiezan los registros de la tala menor...

Tabla mayor
1101010000
1102010000
1103010000

Tabla menor
1101010001
1101010002
1101010003
1102010001
1102010002
1102010003
1103010001
1103010002
1103010003


Lo que yo hago es extraer los primeros 6 números de todos los registros de la columna id asi:


Código Delphi [-]

var
guardar,guardar2:TStringlist;
          
begin
guardar:= TStringlist.Create;
guardar2:= TStringlist.Create;


ZQUERY1.Close;
ZQUERY1.SQL.Clear;
 ZQuery1.SQL.Add('SELECT id from tipomayor') ;
      Try
        ZQuery1.Open;
     while not ZQuery1.Eof do
             begin

              guardar.Add(copy(ZQuery1.Fields[0].AsString,0,6));




               ZQuery1.Next;

             end;
           ComboBox1.Items:=guardar;



     except
        ComboBox1.Items:=guardar;

      End;
      ZQuery1.Close;


Y me da todos los registros, con sus respectivos 6 numeros iniciales..
para actualizar sus valores de acuerdo a sus primeros 6 numeros, que los reconoce como hijos, yo lo hago asi..


Código Delphi [-]

ZQUERY1.SQL.ADD('UPDATE tablamayor Set SALDO='2561150.25' where id='1101010000');

para saber cuales son sus hijos yo uso la esto

Código Delphi [-]

id regexp '+char(39)+'^'+1101+char(39));

pero debo hacerlo de de la suma de los valores de sus ·hijos",..
puedo hacer uno por uno,pero debo hacerlo automático.
actualizar todos los registros mayores, de acuerdo a los valores de sus hijos, de forma secuencial, uno tras otro.
para no tener que digitar manualmente la cuenta mayor a la que le sumare los valores de sus hijos..

gracias de antemano.

Última edición por elmago00 fecha: 06-12-2016 a las 07:54:12.
Responder Con Cita