Série da semana: Primeiros passos no React

Veja mais

Como faço para um ComboBox ter os dados da minha tabela Mysql?

08/03/2016

1

Fala galera!

Estou querendo colocar em uma comboBox os dados de uma tabela que tenho no Mysql, tenho uma conexão com FireDac mas não estou sabendo enviar essas informações para minha combobox, alguém pode me ajudar?
Responder

Post mais votado

09/03/2016

Vai um pequeno exemplo. Adapte a sua necessidade.

var x1 : string;
n1 : integer;

ComboBox1.Clear;

while not SuaQuery.Eof
do begin

n1 := SuaQuery.FielByName('campoCodigo').asinteger;
x1 := SuaQuery.FielByName('campoNome').asSTring;

lixo := formatFloat( '000000' , n1 );
Lixo := lixo
+ ' '
+ x1;

ComboBox1.Items.Add( lixo );

SuaQuery.Next;

end;

ComboBox1.ItemIndex := 0; // selecionando o primeiro da lista


Espero que ajude
Abc.
Responder

Mais Posts

09/03/2016

Rafael Bosco

Crie uma function que retorna uma TList<TClass> referente a consulta no banco de dados, vou colocar um exemplo referente a funções de funcionário de uma empresa:



function ListaFuncoes: TList<TFuncao>;   //não esqueça de colocar na uses da sua unit System.Generics.Collections;
const
   SQLConsulta: String = 'SELECT * FROM TFUNCOES';
var
  Funcao: TFuncao;
begin
  Result := TList<TFuncao>.Create; 
  try
    fQuery.SQL.Clear;
    fQuery.SQL.Add(SQLConsulta);
    fQuery.Open;
    if not fQuery.IsEmpty then
    begin
      while not fQuery.Eof  then
      begin
         Funcao := TFuncao.Create;
         Funcao.Descricao := fQuery.FieldByName('DESCRICAO').AsString;
         Result.Add(Funcao);
         fQuery.Next;
      end;
    end
  except
    Result.Free;
    raise;
  end;
end;



Agora no Form que tem o combobox, você coloca no evento, ONSHOW ou ONCREATE, ou onde você necessitar:


 
procedure ListaFuncoes;
var
  Funcao: TFuncao;
  ListaFuncoes: TList<TFuncao>;
  I: System.Integer;
begin
   Funcao := TFuncao.Create;
   ListaFuncoes := Funcao.ListaFuncoes;
   FreeAndNil(Funcao);
   try
     if ListaFuncoes.Count > 0 then
     begin
         ComboBox.Items.Clear;
         for I := 0 to ListaFuncoes.Count - 1 do
         begin
            Funcao := ListaFuncoes[I].Items;
            ComboBox.Items.Add(Funcao.Descricao);
            FreeAndNil(Funcao);
         end;
     end;
   finally
     FreeAndNil(ListaFuncoes);
   end;
end;

Responder