Inquiridor
List Box

Pergunta
-
Bom Dia pessoal...
Minha duvida é o seguinte, eu estou fazendo um programa que preciso utilizar varias list box e concatenar o que esta dentro dela. As Lists box que fiz na mão foi tranquilo, porem as que o conteúdo estão sendo carregadas com dados do banco não estou conseguindo fazer, o que código que estou usando seria esse:
For Each item In Me.listbox_Curso.SelectedItems
Label3.Text += item + " , "
Next item
Todas as Respostas
-
-
Olá ... Mas eu precisaria de pegar os dados que foram selecionado e salvar no banco. Porquê no caso seria para uma escola de informática, e nessa list eu carrego todos os cursos que ela tem na unidade, e assim os cursos que o aluno selecionasse eu salvaria no banco.
-
Medelles, ai seria algo do tipo
Dim Query As String = "INSERT INTO tabela VALUES" For Each Item As ListItem In ListBox1.SelectedItems Query += "(" + Item.Text + ")," Next Item Query = Query.SubString(0, Query.Length - 2) 'Roda o execute command com a variável "Query"...
Tem que fazer ajustes, mas preciso saber mais... o que você guardou na tabela foi o nome? se foi você precisa das chaves primárias, e assim por diante.
Se você postar a tabela aonde você vai salvar os dados e a tabela aonde estão listadas os cursos (com a colunas) ai fica mais fácil de explicar.
-
É assim, a list box tem como colocar dados nela normal escrevendo e colocando conteudo nela buscando os itens no banco. Eu carrego ela normal do banco, o que eu gostaria de fazer, que não estou conseguindo com a list carregada com os itens do banco, é que o usuario selecione mais de um item, exemplo selecionando os cursos word e excel. Eu gostaria que salvasse os dois itens numa linha só no banco, para quando fosse ver na a consulta, ficasse assim word, excel. Com o código que eu postei eu consegui com fazer isso com os itens da list box feito a mão, mas não funciona com os itens de list carregada do banco.
-
Olha Medelles, então acho que você tem um problema ai... de estrutura.
Eu acredito que o seu projeto ficaria melhor se você tivesse em seu banco 3 tabelas:
> Aluno (Dados do Aluno).
> Cursos (Todos os Cursos Disponíveis).
> Cursos_Do_Aluno (Uma tabela com 2 chaves estrangeiras, para "Aluno" e "Curso" formando uma chave primária).Ai sim, você carrega os dados do aluno conforme precisar, carrega na listbox todos os cursos disponíveis, depois pesquisa a união entre "Cursos_Do_Aluno" e "Cursos" para aquele alune, marcando SELECTED na listbox.
Esse é o método mais correto para o uso do banco de dados nessa interação que você expôs, até porque se você concatenar todas as opções marcadas em uma string e salvar essa string em uma coluna só na tabela "Alunos", esse campo vai ficar enorme e você vai perder o controle, por exemplo, se você parar de ministrar um curso e quiser saber quais alunos você vai perder, por exemplo.
Agora para o usuário selecionar mais de um item, a listbox tem que ter a propriedade SelectionMode marcada como "Multisimple" ou "MultiExtended". Somente...
-
Então meu banco tem essas tabelas. Meu problema esta sendo na programação. Quando o usuário seleciona mais de um curso, eu não estou conseguindo fazer a que todas as opções selecionada pelo usuário sejam salva na tabela. Eu to usando um for, porem só conseguido salvar os itens se eu mesmo carregar a list box, se eu usar os dados do banco, ele não funciona. Estou usando esse código:
For Each item In Me.listbox_Dias.SelectedItems
Label1.Text += item + " , "
Next item -