c# - Tableadapter - Delete

Asked

Viewed 47 times

0

Good afternoon, I’m new in this area. I have to create the Include, Change and Delete buttons of a sales system. I’m using the tableAdapter and already managed to make the Include button gives this way:

    private void btnInserir_Click(object sender, EventArgs e)
    {

        btnInserir.Enabled = false;
        btnAlterar.Enabled = false;
        btnExcluir.Enabled = false;
        btnGravar.Enabled = true;
        btnCancelar.Enabled = true;
        txtNome.Enabled = true;
        txtCPF.Enabled = true;
        txtEndereco.Enabled = true;
        txtTelefone.Enabled = true;

        pessoasTableAdapter taPessoa = new pessoasTableAdapter();
        string novoID;
        int valorCodigo;
        novoID = taPessoa.UltimoID().ToString();

        if (int.TryParse(novoID.ToString(), out valorCodigo)) {
            txtCodigo.Text = (valorCodigo + 1).ToString();
        }
        else
        {
            MessageBox.Show("Código com valor inválido. Tente novamente.");
        }
    }

It is necessary to confirm with the Record button, which I did as follows:

    private void btnGravar_Click(object sender, EventArgs e)
    {
        pessoasTableAdapter taPessoa = new pessoasTableAdapter();

        taPessoa.Insert(txtCodigo.Text, txtNome.Text, txtTelefone.Text, txtEndereco.Text, txtCPF.Text, txtFiado.Text);
        Limpar_Caixas();            
        string novoID;
        int valorCodigo;
        novoID = taPessoa.UltimoID().ToString();

        if (int.TryParse(novoID.ToString(), out valorCodigo))
        {
            txtCodigo.Text = (valorCodigo + 1).ToString();
        }
        else
        {
            MessageBox.Show("Código com valor inválido. Tente novamente.");
        }
    }

    private void Limpar_Caixas()
    {
        foreach(Control ctr in this.Controls)
        {
            if(ctr is TextBox)
            {
                (ctr as TextBox).Clear();
            }
        }
    }

Now I’m having problems with the delete button:

    private void btnExcluir_Click(object sender, EventArgs e)
    {
        pessoasTableAdapter taPessoa = new pessoasTableAdapter();

        DataTable dtPessoa;
        dtPessoa = taPessoa.PesquisaPessoa(txtCodigo.Text);

        if (dtPessoa.Rows.Count == 0)
        {
            MessageBox.Show("Pessoa não cadastrada.");
        }
        else
        {
            txtCodigo.Text = dtPessoa.Rows[0]["idPessoa"].ToString();
            txtNome.Text = dtPessoa.Rows[0]["nomePessoa"].ToString();
            txtEndereco.Text = dtPessoa.Rows[0]["enderecoPessoa"].ToString();
            txtCPF.Text = dtPessoa.Rows[0]["cpfPessoa"].ToString();
            txtTelefone.Text = dtPessoa.Rows[0]["telefonePessoa"].ToString();
            txtFiado.Text = dtPessoa.Rows[0]["fiado"].ToString();           
        }

        if (MessageBox.Show("Confirma exclusão?", "Excluindo...", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
        {
            taPessoa.Delete(txtCodigo.Text, txtNome.Text, txtEndereco.Text, txtTelefone.Text, txtCPF.Text, txtFiado.Text);
        }
    }

When you enter the person’s code, all the information appears and a dialog box to confirm the deletion. When you click yes, nothing happens. What to do?

1 answer

0

Try it this way:

taPessoa[0].Delete(txtCodigo.Text, txtNome.Text, txtEndereco.Text, txtTelefone.Text, txtCPF.Text, txtFiado.Text);
  • "It is not possible to apply the indexing with [] to a "personal] expression"."

Browser other questions tagged

You are not signed in. Login or sign up in order to post.