Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

hugoee

Listbox passar para Textbox [Resolvido]

Mensagens Recomendadas

hugoee

Boas denovo,

Eu estou com um prqueno prob, quero selecionar um nome da base de dados, tipo : Maria, e na textbox ao lado da listbox me dar a idade da maria o numero do tele, essas informaçoes que tao na base de dados.

Eu sei o que ta mal, mas nao sei como fazer bem :S

Por isso espero que me possam ajudar, vou colocar uma imagem e o códgio de seguida para poderem visualizar e me poder ajudar mais facilmente:

    Private Sub Listbox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
ListBox1.SelectedIndexChanged

        Try
            Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\myDb.mdb;"

            Dim SQL As String = "Select nome from leitores " 'Where [nome] = @nome"

            'Inicia uma ligação à bse de dados
            Using connection As New OleDbConnection(connString)

                ' Define o comando e os parâmetros
                Dim command As New OleDbCommand(Sql, connection)


                ' Abre a ligação e insere o registo
                connection.Open()

                Dim reader As OleDbDataReader = command.ExecuteReader()


                Do While reader.Read


                    'ListBox1.Items.Add(reader.Item("nome"))
                    command.Parameters.Add("nome", OleDbType.VarChar).Value = TextBox1.Text
                    command.Parameters.Add("idade", OleDbType.VarChar).Value = TextBox4
                    'TextBox4.Text = (reader.Item("idade"))


                Loop

                'fecha a conexao
                connection.Close()

            End Using

        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try



        'Label1.Text = ListBox1.SelectedItem mostra o nome da pessoa no label
        Label1.Text = ListBox1.SelectedIndex + 1
    End Sub

P.s: A imagem do form, meto quando estiver em casa!

Cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Comecemos pelo inicio:

Essa query está mal feita e daí os parâmetros também.

Se queres seleccionar um dado com um nome especifico fazes:

 Dim SQL As String = "Select nome from leitores Where [nome] = @nome"

E desta forma tens de alterar os parâmetros para:

command.Parameters.Add("@nome", OleDbType.VarChar).Value = TextBox1.Text

Ou seja, ele vai procurar na base de dados, no campo nome, na tabela leitores o texto que estiver na TextBox1.Text

Aproveita e passa por este link:

http://www.portugal-a-programar.pt/index.php?showtopic=34264

E vê o último post, pus lá tópicos relacionados com SELECTs.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hugoee

Boas, obrigado pelos links.

Em relação ao que tu disses-te nao deu, diz que nao foram fornecidos parametros algo assim.

Tipo eu tenho a mostrar os nomes na listbox e queria que quando seleccionasse um nome na listbox, aparecesse o resto dos dados da pessoa nas textbox que estão ao lado.

Sei que isso é possivel e nao deve ser dificil só que não estou a ver a maneira como fazer :\, será que alguem pode ajudar? :S

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Provavelmente porque não tens dados nas textboxs..

Vocês tem de aprender de vez: Se querem fazer algo como: Ver os dados nas listboxs e afins, tem de aprender primeiro a fazer SELECTs, INSERTs, UPDATEs e DELETEs.

Enquanto não aprenderem isso nunca vão perceber nada do que vos é dito.

Select:

http://vbtuga.blogspot.com/2008/04/vbnet-gesto-de-dados-em-sql-server_16.html

Insert, Update e Delete:

http://vbtuga.blogspot.com/search?q=UPDATE

Aprende a "brincar" com isso primeiro, quando souberes na totalidade então aí partes para a listbox.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hugoee

Boas, eu sei trabalhar com os comandos de Sql e selecções adicionar e isso mas nao sei é com o vb como ele ir buscar os dados do calor seleccionado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hugoee

    Try
            Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\myDb.mdb;"

            Dim SQL As String = "Select * from livros Where [titulo] = @titulo"

            'Inicia uma ligação à bse de dados
            Using connection As New OleDbConnection(connString)

                ' Define o comando e os parâmetros
                Dim command As New OleDbCommand(SQL, connection)

                command.Parameters.Add("@titulo", OleDbType.VarChar).Value = ListBox1.Text

                ' Abre a ligação e insere o registo
                connection.Open()

                Dim reader As OleDbDataReader = command.ExecuteReader()


                Do While reader.Read


                    txtTitulo.Text = (reader.Item("titulo"))



                Loop

                'fecha a conexao
                connection.Close()

            End Using

        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

Ai esta o que eu quero!!

O erro não a estava no sql, o que tava mal no sql era eu ter o nome e querer os dados tdos que era so mudar nome e meter *, e na vez de ir buscar a textbox ir a listbox, simples!!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

O erro estava em parte no SQL, tinhas as instruções mal, por isso é que te dava erro nos parâmetros.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
hugoee

Em parte mas não era a parte mais complicada, pois eu lá estava a selcionar só o nome, e devia ser * (tdos) os dados do paremetro nome

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.