Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Insertar registros desde un query (https://www.clubdelphi.com/foros/showthread.php?t=74901)

escorpionrojo43 17-07-2011 01:43:32

Insertar registros desde un query
 
Saludos Amigos. como que estoy muy activo en estos dias. :D

Necesito insertar los registros en un query.
Con este codigo me actualiza solo el primer registro, pero lo que quiero es que el campo 'Disponible' se actualize al valor almacenado en campo 'limite' en todos los registros que traiga el query

mi codigo es este.

Código Delphi [-]
with dm.qry_Control_numero, sql do
    begin
      Close;
      Clear;
      Add('SELECT * FROM Num_Controlados');
      Add('WHERE loteria = '+ Quotedstr(inttostr(combobox1.ItemIndex)));
      open;
      if not eof then
      begin
        edit;
        FieldByName('Disponible').AsInteger  := FieldByName('Limite').AsInteger;
        post;
  //      showmessage('Los Controles de Numeros han sido Reiniciado');
      end;
    first;
    end;

Casimiro Notevi 17-07-2011 01:59:42

¿Algo parecido a esto:?

Código Delphi [-]
dm.qry_control_numero.sql.text := 'update num_controlados set  disponible='+quotedstr(inttostr(combobox1.itemindex)))+
' where loteria='+sql.fieldbyname('limite').asstring;

escorpionrojo43 17-07-2011 02:13:15

Cita:

Empezado por Casimiro Notevi (Mensaje 406622)
¿Algo parecido a esto:?

Código Delphi [-]
dm.qry_control_numero.sql.text := 'update num_controlados set  disponible='+quotedstr(inttostr(combobox1.itemindex)))+
' where loteria='+sql.fieldbyname('limite').asstring;

Casimiro estoy probando lo que has puesto pero creo que no es lo que busco.
el query actual me trae los datos que necesito, el asunto es que a esos datos que me trae, quiero que el campo "disponible" se actualice con los datos que vinieron en campo "limite"

escorpionrojo43 17-07-2011 04:20:28

Respuesta
 
Bueno Me auto respondo

el asunto es que tenia que pasar al siguiente registro lo hice cambiando el "if not eof then " por un "while not eof do" y un next despues de asignar el valor

Código Delphi [-]
    with dm.qry_Control_numero, sql do
    begin
      Close;
      Clear;
      Add('SELECT * FROM Num_Controlados');
      Add('WHERE loteria = '+ Quotedstr(inttostr(combobox1.ItemIndex)));
      open;
      while not eof do  // aqui
      begin
        edit;
        FieldByName('Disponible').AsInteger  := FieldByName('Limite').AsInteger;
        next;  // aqui
      end;
      showmessage('Los Controles de Numeros han sido Reiniciado');
      first;
    end;


La franja horaria es GMT +2. Ahora son las 22:35:53.

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