none
Visual Basic 6 - List View conexão com banco de dados (DUVIDA) RRS feed

  • Pergunta

  • Olá, sou nova na areá de programação .

    Tenho um projeto que criei de consulta, partir dele criei uma List View para usuário ver os registros já cadastrados.

    Consegui fazer o select já ele consegue buscar os dados da tabela do PostgreSQL , gostaria da ajuda de vocês para como dar um update dentro da list view e se tem como fazer isso . Exemplo tem um registro lá : Paula "ele clica no nome paula dentro da list  e altera e salva no banco " .

    Vou deixar meu select caso vocês queiram saber alguma coisa .

    ----------------------------------------------------------------------------------------------------------------------------------

    Private Sub btnConsultar_Click()
    lvwTabela.Enabled = True
    Dim intContaRegistros As Integer
    Dim rstTestaCx As New ADODB.Recordset
    consultando = True
    'on error goto erro
    Me.MousePointer = 11

    lvwTabela.ListItems.Clear

    If txtCodigo.Text <> "" Then

             strSQL = " SELECT cod_id, nome, telefone, email, endereco, cpf, pais, cidade, idade, quantfilhos, cep "
             strSQL = strSQL & "  FROM ""clientis"""
             strSQL = strSQL & " WHERE Cod_ID = " & txtCodigo
             Set rstTestaCx.ActiveConnection = Conex
             rstTestaCx.CursorLocation = adUseClient
             rstTestaCx.Open strSQL
            
            intContaRegistros = rstTestaCx.RecordCount
             If rstTestaCx.EOF = False Then
                For I = 1 To intContaRegistros
                  lvwTabela.ListItems.Add
                  lvwTabela.ListItems(I).Tag = I
                  lvwTabela.ListItems(I).SubItems(1) = rstTestaCx("cod_id")
                  lvwTabela.ListItems(I).SubItems(2) = rstTestaCx("nome")
                  lvwTabela.ListItems(I).SubItems(3) = rstTestaCx("telefone")
                  lvwTabela.ListItems(I).SubItems(4) = rstTestaCx("email")
                  lvwTabela.ListItems(I).SubItems(5) = rstTestaCx("endereco")
                  lvwTabela.ListItems(I).SubItems(6) = rstTestaCx("cpf")
                  lvwTabela.ListItems(I).SubItems(7) = rstTestaCx("pais")
                  lvwTabela.ListItems(I).SubItems(8) = rstTestaCx("cidade")
                  lvwTabela.ListItems(I).SubItems(9) = rstTestaCx("idade")
                  lvwTabela.ListItems(I).SubItems(10) = rstTestaCx("quantfilhos")
                  lvwTabela.ListItems(I).SubItems(11) = rstTestaCx("cep")
                  rstTestaCx.MoveNext
              Next
      
     
         End If
     Else
        strSQL = " SELECT cod_id, nome, telefone, email, endereco, cpf, pais, cidade, idade, quantfilhos, cep "
        strSQL = strSQL & "  FROM ""clientis"""
        Set rstTestaCx.ActiveConnection = Conex
        rstTestaCx.CursorLocation = adUseClient
        rstTestaCx.Open strSQL
        intContaRegistros = rstTestaCx.RecordCount
             If rstTestaCx.EOF = False Then
                For I = 1 To intContaRegistros
                  lvwTabela.ListItems.Add
                  lvwTabela.ListItems(I).Tag = I
                  lvwTabela.ListItems(I).SubItems(1) = rstTestaCx("cod_id")
                  lvwTabela.ListItems(I).SubItems(2) = rstTestaCx("nome")
                  lvwTabela.ListItems(I).SubItems(3) = rstTestaCx("telefone")
                  lvwTabela.ListItems(I).SubItems(4) = rstTestaCx("email")
                  lvwTabela.ListItems(I).SubItems(5) = rstTestaCx("endereco")
                  lvwTabela.ListItems(I).SubItems(6) = rstTestaCx("cpf")
                  lvwTabela.ListItems(I).SubItems(7) = rstTestaCx("pais")
                  lvwTabela.ListItems(I).SubItems(8) = rstTestaCx("cidade")
                  lvwTabela.ListItems(I).SubItems(9) = rstTestaCx("idade")
                  lvwTabela.ListItems(I).SubItems(10) = rstTestaCx("quantfilhos")
                  lvwTabela.ListItems(I).SubItems(11) = rstTestaCx("cep")
                  rstTestaCx.MoveNext
              Next
         End If
        
      End If
       rstTestaCx.Close
    '   rstSQL.Close
       Set rstSQL = Nothing
       Me.MousePointer = 0
    '   MsgBox "Verificado a disponibilidade!", vbInformation, "MODS - Aviso do Sistema"
     
    Exit Sub
      
    Erro:
       MsgErr
    End Sub

    ----------------------------------------------------------------------------------------------------------------------------------

    Desde já agradeço .

    segunda-feira, 20 de agosto de 2012 12:02

Respostas

  • Guilherme, após editar a célula você pode usar um evento e salvar a alteração que foi feita.

    Use o evento AfterLabelEdit, o valor que foi inserido está dentro da NewString.

    Private Sub List_AfterLabelEdit(Cancel As Integer, NewString As String)
       cnn.Execute ("UPDATE SERVICOS SET NOME = " & Chr(39) & NewString & Chr(39) & " WHERE IDSERVICO = " & List.SelectedItem.ListSubItems.Item(1) & "")
    End Sub


       
    segunda-feira, 20 de agosto de 2012 21:13

Todas as Respostas

  • Guilherme, após editar a célula você pode usar um evento e salvar a alteração que foi feita.

    Use o evento AfterLabelEdit, o valor que foi inserido está dentro da NewString.

    Private Sub List_AfterLabelEdit(Cancel As Integer, NewString As String)
       cnn.Execute ("UPDATE SERVICOS SET NOME = " & Chr(39) & NewString & Chr(39) & " WHERE IDSERVICO = " & List.SelectedItem.ListSubItems.Item(1) & "")
    End Sub


       
    segunda-feira, 20 de agosto de 2012 21:13
  • Muito Obrigado amigo, valeu mesmo me chefe tava me cobrando já .
    quinta-feira, 23 de agosto de 2012 15:22