Como faço para um ComboBox ter os dados da minha tabela Mysql?
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?
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
Curtidas 0
Melhor post
Marco Antônio
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.
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.
GOSTEI 1
Mais Respostas
Rafael Bosco
08/03/2016
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:
Agora no Form que tem o combobox, você coloca no evento, ONSHOW ou ONCREATE, ou onde você necessitar:
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;
GOSTEI 0