carregar dados da tabela no combobox Firebird ?

Delphi

16/06/2004

Olá

Tenho uma tabela Cidades com os campos Cidade e estado uso FireBird 1.5 como carrego ambos os campos em um combox um para cada um tipo ComboCidade e comboestado ?

Obrigado


Koringa

Koringa

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

16/06/2004

koringa,

creio q a única forma de fazer isso seja com um laço numa query que carregue as cidades...
por exemplo:
Query.First;
while not Query.Eof do
  begin
    ComboCidades.Items.Add(Query.FieldByName(´cidade´).AsString);
    Query.Next;
  end;

no caso dos estados, acho que vc não deve fazer com esta tabela, pois o mesmo estado deve se repetir várias vezes nela...

Espero ter ajudado...
T+


GOSTEI 0
Emacruz

Emacruz

16/06/2004

Posso tentar melhorar então?

procedure tForm1.btnOKClick(Sender: TObject);
  function RegFound( Lista : tStrings; Texto : String ) : Boolean ;
  var I : SmallInt ;
  begin
       Result := False ;
       for I := 0 to Lista.Count -1 do
       begin
            Result := ( Trim(Lista.Strings[ I ]) = Trim( Texto ) ) ;
            if Result then Exit ;
            Application.ProcessMessages ;
       end ;
  end ;
begin
     with Query do
     begin
          First ;
          while not Eof do
          begin
               if not RegFound( cboEstados.Items, Query.FieldByName(´CIDADES´).AsString ) then
                  cboEstados.Items.Add(Query.FieldByName(´CIDADES´).AsString) ;
               Next ;
               Application.ProcessMessages ;
          end ;
     end ;
end;




GOSTEI 0
Koringa

Koringa

16/06/2004

koringa, creio q a única forma de fazer isso seja com um laço numa query que carregue as cidades... por exemplo:
Query.First;
while not Query.Eof do
  begin
    ComboCidades.Items.Add(Query.FieldByName(´cidade´).AsString);
    Query.Next;
  end;
no caso dos estados, acho que vc não deve fazer com esta tabela, pois o mesmo estado deve se repetir várias vezes nela... Espero ter ajudado... T+



Pessoal legal funciona bem o codigo abaixo so que como eu faria pra tipo na tabela existem várias opções de setores iguais gostaria que ele adiciona-se so uma vez cada item como eu faria dai ?

Query.First;
while not Query.Eof do
begin
ComboCidades.Items.Add(Query.FieldByName(´cidade´).AsString);
Query.Next;
end;


GOSTEI 0
Vinicius2k

Vinicius2k

16/06/2004

Colega,
Desculpe, não havia percebido que restaram dúvidas...

Bem... vc pode montar uma query acrescentando a instrução ´distinct´ para evitar repetições... por exemplo :
select distinct CIDADE from CLIENTES

isso irá trazer apenas cidades diferentes presentes na tabela clientes... e a montagem da combo seria usando o mesmo procedimento anterior...

Espero ter ajudado...
T+


GOSTEI 0
POSTAR