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

esquima

[resolvido][vb.03] listviews inserir items numa bd

13 mensagens neste tópico

Boas...tenho 2 listviews uma carregada outra vazia..selecionando os items  da esquerda passo os que quiser para a vazia...o qu qeria agora era pegar nos items 1 a 1 que inseri na lst vazia e inserir na bd...alguma sugestao???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A sugestão é leres (com um ciclo FOR) todos os items da listview e por cada uma fazeres o INSERT na Bd :D

Agora se chamas sugestão a darem-te o código será algo deste tipo:

For i As Integer = 0 To ListView1.Items.Count - 1
            ' gravar na BD
Next

Agora tens que desenvolver o código à tua medida. Qq duvida avisa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se percebi o que queres... a ideia é guardares todos os codigos de fornecedor numa variavel para depois os inserires na BD posteriormente, certo ?

Se assim for, usas por exemplo um ArrayList para guardares os codigos ... e depois fazes um for each a percorrer todas as posições do ArrayList e inseres na BD.

Era isto ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e isso mesmo, so que por essa parte n sei implementar  :D...axas que resolvia esse problema ao carregar a listview por databinding???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguem me pode ajudar a criar um array list no meu codigo acima no botao click1 e a receber os cod_fornecedor que ta na sSelectedProject.....e que n me convinha preencher a list com um dataset por databinding

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

esquima para k keres a array? :|

bom ai vai...

  Dim i As Integer
        Dim array(ListBox1.SelectedItems.Count - 1) As String
        For i = 0 To ListBox1.SelectedItems.Count - 1
           array(i) = ListBox1.SelectedItems.Item(i)
        Next i

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sou mto adepto dos databindings. Para implementares como te disse, em vez de pores o

sSelectedProject = (ListView1.SelectedItems.Item(0).Tag)

poes antes

arr.Add(ListView1.SelectedItems.Item(0).Tag)

Para declarares o arraylist fazes algo deste genero

Dim arr as ArrayList = new ArrayList

Depois percorres as entradas do arraylist

For i as Integer = 0 To arr.Count
 ' arr(i).ToString() dá-te o valor nesta posição...
Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No botao clic3 da me erro  qaundo tou a percorrer o for: indice fora do intervalo.Nao pode ser negativo e tem de ser inferior ao tamanho da colecçao.Nome do parametro:index...mesmo assim tb axo que n ta a inserir nada no array pq qaundo vou tentar inserir na bd d o balor de array é lenght (0)


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load



        Dim sSql As String
        Dim oDR As OleDbDataReader

        sSql = "SELECT nome, cod_fornecedor FROM fornecedores"
        oDR = abreConexao(sSql)

        While oDR.Read
            Dim oLI As New ListViewItem
            oLI.Text = oDR("nome") 'campos da listviewitem
            oLI.Tag = oDR("cod_fornecedor") 'campos da listviewitem
           
            ListView1.Items.Add(oLI)

        End While

        oDR.Close()
    End Sub

   
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim arr_codf As New ArrayList

        Dim ex As Exception

        Try

            If ListView1.Items.Count = 0 Then
                MsgBox("Lista Vazia", MsgBoxStyle.Information)
            Else
                For Each item As ListViewItem In ListView1.SelectedItems()
                    ListView2.Items.Add(ListView1.SelectedItems.Item(0).Text)
                    arr_codf.Add(ListView1.SelectedItems.Item(0).Tag)
                Next


                For Each item As ListViewItem In ListView1.SelectedItems()
                    item.Remove()
                Next
            End If

        Catch ex
            MsgBox(ex.Message)
        End Try
    End Sub

  Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        Dim arr_codf As New ArrayList
        Dim ex As Exception
        Dim sSql As String
        Dim oDR As OleDbDataReader

        sSql = "SELECT nome, cod_fornecedor FROM fornecedores"
        oDR = abreConexao(sSql)
        Try
            For i As Integer = 0 To arr_codf.Count
                sSql = "INSERT INTO bens (cod_fornecedor,cod_projecto)"
                sSql = sSql & "VALUES ('" & arr_codf(i).ToString & "','1' )"
                ' arr_codf(i).ToString() 'dá-te o valor nesta posição
            Next i
            oDR.Close()
        Catch ex
            MsgBox(ex.Message)
        End Try

    End Sub
End Class


0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Altera a linha

For i As Integer = 0 To arr_codf.Count

para

For i As Integer = 0 To arr_codf.Count-1

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

n me da ..se eu definir outra vez o array no botao3 ele n perde o valor?....ja te tinha dito eu axo que o array tb n ta a reber nada :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens que declarar o ArrayList fora de qq evento ou função, para poderes acede-lo de qq lado. Tens ali no evento click do button1 e button3 o que está errado e daí não te aparecerem valores.

0

Partilhar esta mensagem


Link 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