Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
hugoee

Listbox passar para Textbox [Resolvido]

Recommended Posts

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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
hugoee

Na verdade ainda tenho os comandos mal, mas nao sei é passar os parametros bem -.-''

Esse é o problema !!!!

Share this post


Link to post
Share on other 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!!

Share this post


Link to post
Share on other sites
bioshock

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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.