Sei sulla pagina 1di 7

13/09/2018 ActiveDelphi :: Exibir tópico - Preencher combobox com dados de um Banco de Dados

ActiveDelphi
.: O site do programador Delphi! :.

FAQ Pesquisar Membros Grupos Registrar


Perfil Entrar e ver Mensagens Particulares Entrar

Preencher combobox com dados de um Banco de Dados

ActiveDelphi - Índice do Fórum -> Delphi

Exibir mensagem anterior :: Exibir próxima mensagem

Autor Mensagem

brunoasouza Enviada: Seg Mai 07, 2007 3:33 pm Assunto: Preencher combobox com dados de um Banco de Dados
Novato

ola, alguem poderia me ajudar com um codigo onde um combobox eh preenchido com dados de uma tabela
Registrado: Quinta-Feira, 3 de uma banco de dados?
de Mai de 2007 Obrigado!
Mensagens: 31

Voltar ao Topo

an.der.son Enviada: Seg Mai 07, 2007 3:39 pm Assunto: Re: Preencher combobox com dados de um Banco de Dados
Colaborador

brunoasouza escreveu:
Registrado: Quarta-Feira, ola, alguem poderia me ajudar com um codigo onde um combobox eh preenchido com dados de uma
26 de Mai de 2004 tabela de uma banco de dados?
Mensagens: 2275 Obrigado!
Localização: Itaocara - RJ

simples assim?!?!?

Código:
class function ListaCliente: TStrings;
begin
Result := TStringList.Create;
Result.Clear;
Result.BeginUpdate;
with DtMdlConnectTable.TbCliente do
begin
First;
while not Eof do
begin
Result.Add(FieldByName('CLIENTE').AsString);
Next;
end;
end;
Result.EndUpdate;
end;

Troque o nome dos componentes e nome do campo!!

use assim:

Código:
ComboBox.Items := ListaCliente;

Abraços
_________________
Estou de volta!!!

Voltar ao Topo

brunoasouza Enviada: Seg Mai 07, 2007 4:05 pm Assunto: Re: Preencher combobox com dados de um Banco de Dados
Novato

an.der.son escreveu:
Registrado: Quinta-Feira, 3
de Mai de 2007
brunoasouza escreveu:
Mensagens: 31 ola, alguem poderia me ajudar com um codigo onde um combobox eh preenchido com dados
de uma tabela de uma banco de dados?

http://www.activedelphi.com.br/forum/viewtopic.php?t=32271&sid=9eff0202b079fd3d2304e68abad96482 1/7
13/09/2018 ActiveDelphi :: Exibir tópico - Preencher combobox com dados de um Banco de Dados
Obrigado!

simples assim?!?!?

Código:
class function ListaCliente: TStrings;
begin
Result := TStringList.Create;
Result.Clear;
Result.BeginUpdate;
with DtMdlConnectTable.TbCliente do
begin
First;
while not Eof do
begin
Result.Add(FieldByName('CLIENTE').AsString);
Next;
end;
end;
Result.EndUpdate;
end;

Troque o nome dos componentes e nome do campo!!

use assim:

Código:
ComboBox.Items := ListaCliente;

Abraços

Valeu cara, mas eu nao entendi muito bem o seu codigo. Seguinte, eu preciso primeiro colocar os dados num
dataset e depois associa-los ao combo? Eu tenho experinecia na plataforma .Net, é dessa forma que eu faço
la, mas nao faço ideia de como isso é feito no delphi.
To trabalhando com camadas e se vc tiver um exemplo com um dataset vai ajudar muito!
obrigado!

Voltar ao Topo

an.der.son Enviada: Seg Mai 07, 2007 4:19 pm Assunto: Re: Preencher combobox com dados de um Banco de Dados
Colaborador

brunoasouza escreveu:
Registrado: Quarta-Feira,
an.der.son escreveu:
26 de Mai de 2004
Mensagens: 2275
Localização: Itaocara - RJ
brunoasouza escreveu:
ola, alguem poderia me ajudar com um codigo onde um combobox eh preenchido
com dados de uma tabela de uma banco de dados?
Obrigado!

simples assim?!?!?

Código:
class function ListaCliente: TStrings;
begin
Result := TStringList.Create;
Result.Clear;
Result.BeginUpdate;
with DtMdlConnectTable.TbCliente do
begin
First;
while not Eof do
begin
Result.Add(FieldByName('CLIENTE').AsString);
Next;
end;
end;
Result.EndUpdate;
end;

Troque o nome dos componentes e nome do campo!!

use assim:

http://www.activedelphi.com.br/forum/viewtopic.php?t=32271&sid=9eff0202b079fd3d2304e68abad96482 2/7
13/09/2018 ActiveDelphi :: Exibir tópico - Preencher combobox com dados de um Banco de Dados
Código:
ComboBox.Items := ListaCliente;

Abraços

Valeu cara, mas eu nao entendi muito bem o seu codigo. Seguinte, eu preciso primeiro colocar
os dados num dataset e depois associa-los ao combo? Eu tenho experinecia na plataforma .Net,
é dessa forma que eu faço la, mas nao faço ideia de como isso é feito no delphi.
To trabalhando com camadas e se vc tiver um exemplo com um dataset vai ajudar muito!
obrigado!

dot net??? só agora vc disse que eh pra .NET!!!

o codigo acima eh win32!!

Sorry, não saco .NET!!


_________________
Estou de volta!!!

Voltar ao Topo

brunoasouza Enviada: Seg Mai 07, 2007 4:50 pm Assunto: Re: Preencher combobox com dados de um Banco de Dados
Novato

an.der.son escreveu:
Registrado: Quinta-Feira, 3
de Mai de 2007
brunoasouza escreveu:
Mensagens: 31
an.der.son escreveu:

brunoasouza escreveu:
ola, alguem poderia me ajudar com um codigo onde um combobox eh
preenchido com dados de uma tabela de uma banco de dados?
Obrigado!

simples assim?!?!?

Código:
class function ListaCliente: TStrings;
begin
Result := TStringList.Create;
Result.Clear;
Result.BeginUpdate;
with DtMdlConnectTable.TbCliente do
begin
First;
while not Eof do
begin
Result.Add(FieldByName('CLIENTE').AsString);
Next;
end;
end;
Result.EndUpdate;
end;

Troque o nome dos componentes e nome do campo!!

use assim:

Código:
ComboBox.Items := ListaCliente;

Abraços

Valeu cara, mas eu nao entendi muito bem o seu codigo. Seguinte, eu preciso
primeiro colocar os dados num dataset e depois associa-los ao combo? Eu tenho
experinecia na plataforma .Net, é dessa forma que eu faço la, mas nao faço ideia de
como isso é feito no delphi.

http://www.activedelphi.com.br/forum/viewtopic.php?t=32271&sid=9eff0202b079fd3d2304e68abad96482 3/7
13/09/2018 ActiveDelphi :: Exibir tópico - Preencher combobox com dados de um Banco de Dados
To trabalhando com camadas e se vc tiver um exemplo com um dataset vai ajudar
muito!
obrigado!

dot net??? só agora vc disse que eh pra .NET!!!

o codigo acima eh win32!!

Sorry, não saco .NET!!

Nao cara, nao eh pra .Net, eh pra delphi mesmo, so expliquei como eu faço no .Net.
Mas to querendo fazer em delphi 7

Voltar ao Topo

pestana Enviada: Seg Mai 07, 2007 4:59 pm Assunto:


Colaborador

é mais ou menos isso que você quer, se for para o componente TComboBox:

Registrado: Sábado, 25 de
Junho de 2005
Mensagens: 3128 Código:
Localização: Araras-SP
With query do
begin
if not IsEmpty then
begin
While not Eof do
begin
combo.Items.Add( FieldByName('campo').AsString );
Next;
end;
end;
end;

flw.
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que
ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.

Voltar ao Topo

hyper_r Enviada: Seg Mai 07, 2007 5:10 pm Assunto: Há varias maneiras, mas a do an.der.son é a mais simples...
Novato

Vou tentar passar de uma maneira mais simples...


Registrado: Domingo, 21 de
Novembro de 2004 function ListaCampo: TStrings;
Mensagens: 59
begin
Result := TStringList.Create;
DataSet.First;
while not (DataSet.Eof) do
begin
Result.Add(DataSet.FieldByName.'CAMPO_A_SER_LISTAD').AsString);
DataSet.Next;
end;
end;

{A função simplesmente passa para uma stringlist todos os valores do registro do dataset em questão.. Basta
agora renomear o DataSet com o nome do seu DataSet, e o nome do campo que vc deseja extrair os dados...
E depois atribuir para o combobox.items a função..
Ex.: ComboBox1.Items := ListaCampo;
}

Voltar ao Topo

an.der.son Enviada: Seg Mai 07, 2007 5:31 pm Assunto: Re: Há varias maneiras, mas a do an.der.son é a mais simples
Colaborador

hyper_r escreveu:
Registrado: Quarta-Feira, Vou tentar passar de uma maneira mais simples...
26 de Mai de 2004
Mensagens: 2275 function ListaCampo: TStrings;
Localização: Itaocara - RJ
begin

http://www.activedelphi.com.br/forum/viewtopic.php?t=32271&sid=9eff0202b079fd3d2304e68abad96482 4/7
13/09/2018 ActiveDelphi :: Exibir tópico - Preencher combobox com dados de um Banco de Dados
Result := TStringList.Create;
DataSet.First;
while not (DataSet.Eof) do
begin
Result.Add(DataSet.FieldByName.'CAMPO_A_SER_LISTAD').AsString);
DataSet.Next;
end;
end;

{A função simplesmente passa para uma stringlist todos os valores do registro do dataset em questão..
Basta agora renomear o DataSet com o nome do seu DataSet, e o nome do campo que vc deseja extrair
os dados... E depois atribuir para o combobox.items a função..
Ex.: ComboBox1.Items := ListaCampo;
}

acho q tah igual ao meu!!


_________________
Estou de volta!!!

Voltar ao Topo

hyper_r Enviada: Seg Mai 07, 2007 5:44 pm Assunto:


Novato

Realmente an.der.son, tirei como base o seu exemplo, só tentei passar mais simplificado pra ele.. xD
Registrado: Domingo, 21 de
Novembro de 2004 Como eu disse no assunto do meu post, o seu exemplo é o mais simples...
Mensagens: 59

Voltar ao Topo

hyper_r Enviada: Seg Mai 07, 2007 5:47 pm Assunto:


Novato

Realmente an.der.son, tirei como base o seu exemplo, só tentei passar mais simplificado pra ele.. xD
Registrado: Domingo, 21 de
Novembro de 2004 Como eu disse no assunto do meu post, o seu exemplo é o mais simples...
Mensagens: 59

Voltar ao Topo

an.der.son Enviada: Seg Mai 07, 2007 5:54 pm Assunto: Re: Preencher combobox com dados de um Banco de Dados
Colaborador

Explicando o (meu) codigo


Registrado: Quarta-Feira,
26 de Mai de 2004
Código:
Mensagens: 2275
Localização: Itaocara - RJ class function ListaCliente: TStrings;
begin
Result := TStringList.Create; //-- Criar lista
Result.Clear; //-- Limpar lista
Result.BeginUpdate; //-- Acessar a lista mais rapido, melhora o desempenho
with TbNomeTabela do //-- Para não repetir este nome
begin
First; //-- primeiro registro da tabela (TbNomeTabela)
while not Eof do //-- Enqto não chegar ao fim da tabela (TbNomeTabela)
begin
Result.Add(FieldByName('NOME_CAMPO').AsString); //-- Copiar o registro para
lista
Next; //-- Ir para o proximo registro
end;
end;
Result.EndUpdate; //-- Retornar o status normal da lista
end;

Troque o nome dos componentes e nome do campo!!

use assim:

Código:
ComboBox.Items := ListaCliente; //-- Copiar lista para o combobox

Simples como a vida deve ser ....


Abraços [/quote]
_________________
Estou de volta!!!

Voltar ao Topo

http://www.activedelphi.com.br/forum/viewtopic.php?t=32271&sid=9eff0202b079fd3d2304e68abad96482 5/7
13/09/2018 ActiveDelphi :: Exibir tópico - Preencher combobox com dados de um Banco de Dados

brunoasouza Enviada: Ter Mai 08, 2007 9:23 am Assunto: Re: Preencher combobox com dados de um Banco de Dados
Novato

an.der.son escreveu:
Registrado: Quinta-Feira, 3 Explicando o (meu) codigo
de Mai de 2007
Mensagens: 31
Código:
class function ListaCliente: TStrings;
begin
Result := TStringList.Create; //-- Criar lista
Result.Clear; //-- Limpar lista
Result.BeginUpdate; //-- Acessar a lista mais rapido, melhora o desempenho
with TbNomeTabela do //-- Para não repetir este nome
begin
First; //-- primeiro registro da tabela (TbNomeTabela)
while not Eof do //-- Enqto não chegar ao fim da tabela (TbNomeTabela)
begin
Result.Add(FieldByName('NOME_CAMPO').AsString); //-- Copiar o
registro para lista
Next; //-- Ir para o proximo registro
end;
end;
Result.EndUpdate; //-- Retornar o status normal da lista
end;

Troque o nome dos componentes e nome do campo!!

use assim:

Código:
ComboBox.Items := ListaCliente; //-- Copiar lista para o combobox

Simples como a vida deve ser ....


Abraços
[/quote]
Funcionou certinho, mas com um porem. Se quiser preencher o o combo no evento formCreate da pau. Como
eu faço pra ja preeencher esse combo na evento onCreate do form. Ta dando um erro no meu sqlConnection.
Mas se eu colocar o codigo em um botao funciona normalmente.

Voltar ao Topo

an.der.son Enviada: Ter Mai 08, 2007 9:34 am Assunto:


Colaborador

OnCreate de qual form?!?!


Registrado: Quarta-Feira,
26 de Mai de 2004 Certifique-se que o seu SqlConnection esteja sendo criado e ativado antes do evento ComboBox := Listar(),
Mensagens: 2275
Localização: Itaocara - RJ pois provavelmente este eh o seu problema!
_________________
Estou de volta!!!

Voltar ao Topo

brunoasouza Enviada: Ter Mai 08, 2007 9:42 am Assunto:


Novato

an.der.son escreveu:
Registrado: Quinta-Feira, 3 OnCreate de qual form?!?!
de Mai de 2007
Mensagens: 31
Certifique-se que o seu SqlConnection esteja sendo criado e ativado antes do evento ComboBox :=
Listar(), pois provavelmente este eh o seu problema!

provavelmente deve ser isso, mas tentei agora e nao funcionou.


codigo
dm.sqlconnection := dm.sqlconnection.create(nil);
mas deu erro "Access Violation at address xxxxxx"

Voltar ao Topo

an.der.son Enviada: Ter Mai 08, 2007 9:57 am Assunto:


Colaborador

brunoasouza escreveu:
Registrado: Quarta-Feira,
an.der.son escreveu:
26 de Mai de 2004
Mensagens: 2275 OnCreate de qual form?!?!
Localização: Itaocara - RJ

http://www.activedelphi.com.br/forum/viewtopic.php?t=32271&sid=9eff0202b079fd3d2304e68abad96482 6/7
13/09/2018 ActiveDelphi :: Exibir tópico - Preencher combobox com dados de um Banco de Dados
Certifique-se que o seu SqlConnection esteja sendo criado e ativado antes do evento
ComboBox := Listar(), pois provavelmente este eh o seu problema!

provavelmente deve ser isso, mas tentei agora e nao funcionou.


codigo
dm.sqlconnection := dm.sqlconnection.create(nil);
mas deu erro "Access Violation at address xxxxxx"

O seu sqlconnection estah em um datamodule?!?!

Se sim, coloque ele para ser o primeiro a ser criado no seu projeto!!
_________________
Estou de volta!!!

Voltar ao Topo

Mostrar os tópicos anteriores: Todas as mensagens Antigas primeiro Ir

Todos os horários são GMT - 3 Horas


ActiveDelphi - Índice do Fórum -> Delphi

Página 1 de 1

Ir para: Delphi Ir

Enviar Mensagens Novas: Proibido.


Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.

Powered by phpBB © 2001, 2005 phpBB Group


Traduzido por: Suporte phpBB

http://www.activedelphi.com.br/forum/viewtopic.php?t=32271&sid=9eff0202b079fd3d2304e68abad96482 7/7

Potrebbero piacerti anche