Ir para conteúdo
Fórum Script Brasil
  • 0

Como Salvar Todo O Conteúdo De Um Listbox Para Uma Tabela


Júnior programador

Pergunta

Olá amigos do fórum, uma dúvida, na qual eu já entrei em todos os tópicos do fórum que fala sobre listbox.

Tenho um programa de controle de pedido de música para rádio, para evitar que seja cadastrado música por música, fiz um trabalho onde eu importo todas as músicas de uma pasta para o listbox, ai no listbox fica somente o nome das músicas.

Para finalizar, preciso salvar o conteúdio do listbox para uma tabela, eu uso componente query, então amigos, como fazer para salvar um conteúdo do lisbox para uma tabela?

mesmo que o listbox tenha em torno de 2000 registros que foi pego de uma pasta, preciso passar todos esses nomes que estão no listbox para a tabela.

componentes do form

btnsalvar

listbox

querymusica (id, descricao)

como seria o código que salvaria o conteúdo do listbox para a tabela.

Agradeço a ajuda de todos.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Guest Alessandro Bastos

É muito Simples meu amigo.

Veja que eu criei uma variável do tipo inteiro para achar o indice de cada registro da listbox.

então faço um for do indice 0 até o indice final controlado pelo count do listbox depois dentro

do loop eu coloco a tabela para gravar cada indice da list box de acordo com seu indice tente

o código abaixo como exemplo que vai funcionar ok qualquer coisa entre em contato pelo meu

e-mail alessandro@viacometa.com.br

Até mais e boa sorte.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
i : Integer;
begin
  for i := 0 to ListBox1.Items.Count - 1 do
  begin
    querydescricao.asstring := ListBox1.Items.Strings[i];
  end;
end;

Editado por Micheus
Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

  • 0
É muito Simples meu amigo.
Vamos complicar um pouquinho, porque senão, não vai funcionar. ;)

Vamos fazer um "up-date" no código do Alessandro:

- Adicionar o novo registro;

- Gravar o novo registro.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
i : Integer;
begin
 // se a query não for aberta em outro pronto do programa
 // então, é só retirar o comentário da linha abaixo para abrí-la
 // query.Open; // * abre a consulta
  begin
    query.Append;  // inicia um novo registro "em branco"
    querydescricao.asstring := ListBox1.Items.Strings[i];
    query.Post;  // Grava registro na tabela
  end;
 // assim como para abrir, se for o caso, 
 // remover o comentário da linha abaixo
 // query.Close;  // fechar a consulta
end;

Falta ainda observar o seguinte: A menos que você possa utilizar este componente TQuery com a propriedade RequestLive = TRUE (que o driver do banco suporte), você não conseguirá gravar nada (ocorrerá erro), já que este componente ("a princípio") se presta apenas para consultas (leitura). Se isto ocorrer, troque por um TTable.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...