Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Pasar Datos de una Consulta SQL a un array (https://www.clubdelphi.com/foros/showthread.php?t=83361)

webmasterplc 08-06-2013 14:56:08

Pasar Datos de una Consulta SQL a un array
 
Buenas tengo una duda como pasar los datos de una consulta a un array esta es mi consulta

Código Delphi [-]
begin
Datos.sqdmiembros.Close;
datos.sqdmiembros.Sql.Text := 'SELECT * FROM vmiembros'+'   WHERE gf_nombre='+QuotedStr(edtgf.Text);
Datos.sqdmiembros.Open;
      etlider.Caption:=Datos.sqgrupo.fieldByname ('lid_nombre').AsString;
      etzona.Caption:=Datos.sqgrupo.fieldByname ('zon_id').AsString;

end;

Por ejemplo alli paso los datos lider a una etiqueta pero me interesa extraer a un array el numero de telefono el campo se llama 'mien_celular', y el nombre de la persona e campo se llama 'miem_nombre' .


Código Delphi [-]
var
i,registros:Integer;
contactos: array of string;

begin
registros:=2;

SetLength( contactos, registros );
contactos [0]:='584128696261';
contactos [1]:='584262828527';

Aqui le asigne datos manuales y solo el contacto

ecfisa 08-06-2013 20:48:58

Hola webmasterplc.

Si no te entendí mal, sería algo como:
Código Delphi [-]
...
type
  TTelNom = record
    Tel : string;
    Nom : string;
  end;

var
  contactos: array of TTelNom;

procedure TForm1.btnRegsToArrayClick(Sender: TObject);
begin
  with Datos.sqdmiembros do
  begin
    Close;
    SQL.Text := 'SELECT * FROM vmiembros WHERE gf_nombre = ' + QuotedStr(edtgf.Text);
    Open;
    while not Eof do
    begin
      SetLength(contactos, Length(contactos)+1);
      contactos[High(contactos)].Tel := FieldByName('mien_celular').AsString;
      contactos[High(contactos)].Nom := FieldByName('miem_nombre').AsString;
      Next;
    end;
  end;
end;

Ejemplo, mostrarlos en un ListBox:
Código Delphi [-]
procedure TForm1.btnShowClick(Sender: TObject);
var
  i: Integer;
begin
  for i:= Low(contactos) to High(contactos) do
    ListBox1.Items.Add(Format('%s %s', [contactos[i].Nom, contactos[i].Tel]));
end;


Saludos. :)

webmasterplc 05-05-2014 05:00:50

Gracias Hermano


La franja horaria es GMT +2. Ahora son las 14:59:26.

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