none
Dados mostrados de forma duplicada no ListView RRS feed

  • Pergunta

  • Olá pessoal!

    Estou com uma dificuldade.

    Ao carregar dados de um banco de dados num listView, ao abrir o formulário ele mostra corretamente, porém, quando clico no botão de efetuar cadastro e executo o código a seguir ele carrega novamente os dados que já estavam no listView (gerando visualização duplicada dos mesmos) + o novo cadastrado.


    O código é o seguinte:

    public void carregarUsuarios(ListView lv)
            {
                
                try
                {
                    lv.Items.Clear(); //limpa os itens antes de mostrar os outros
    
    
                    abrir(); //abre conexao
                    sql = "SELECT Usuario, Nome FROM Usuarios";
                    comando = new SqlCommand(sql, Conn);
                    da = new SqlDataAdapter(comando);
                    da.Fill(dt);
    
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        ListViewItem item = new ListViewItem(dt.Rows[i]["Usuario"].ToString());
                        item.SubItems.Add(dt.Rows[i]["Nome"].ToString());
                        lv.Items.Add(item);
                    }
                }
                catch (SqlException ex)
                {
                    MessageBox.Show("Erro: " + ex.Message, "Falha!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    fechar();
                }

    Chamei o método no botão de cadastro:

    private void btnCadastrar_Click(object sender, EventArgs e)
            {            
                if (VerificarSenhas() == true)
                {
                    usuario.Login = txtUsuario.Text;
                    usuario.Senha = txtSenha.Text;
                    usuario.Acesso = txtAcesso.Text;
                    usuario.Nome = txtNome.Text;
                    usuario.Apelido = txtApelido.Text;
                    usuario.Tratamento = txtTratamento.Text;
    
                    banco.novoUsuario(usuario);
                    
                }
                else
                {
                    MessageBox.Show("Senhas não conferem!", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
    
                banco.carregarUsuarios(listView1); //para limpar o listView e carregar os usuarios nele
             }

    Alguém me dá uma luz? Grato desde já!



    segunda-feira, 15 de outubro de 2018 00:36

Respostas

Todas as Respostas