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

08/03/2016

0

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?
Felipe Andrade

Felipe Andrade

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.

Marco Antônio

Marco Antônio
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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar