Auto Refresh Textbox

0

I have Textbox where I search for products in my database. It has AutoCompleteMode = SuggestAppend and AutoCompleteSource = Custom . This Textbox is "populated" once the form is opened through FormLoad , this form is for adding / changing / deleting products, when adding / changing / deleting a product the form does not close, I need some method to update the data of Textbox of searches without having to close the form and open again, or to close the form and open again without the client having to do this manually.

Code block to save addition / change

private void tsbSalvar_Click(object sender, EventArgs e)
{
    if(novoProduto == true)
    {
        SqlConnection conn = new SqlConnection(strConnection);
        SqlCommand cmd = new SqlCommand("INSERIR_PRODUTOS", conn);
        cmd.Parameters.AddWithValue("@CODIGO_PRODUTO", txtCodigoProduto.Text);
        cmd.Parameters.AddWithValue("@DESCRICAO", txtDescricao.Text);
        cmd.Parameters.AddWithValue("@DATA_ENTRADA", dtpDataEntrada.Text);
        cmd.Parameters.AddWithValue("@QUANTIDADE", txtQuantidade.Text);
        cmd.Parameters.AddWithValue("@QUANTIDADE_MINIMA", txtQuantidadeMinima.Text);
        cmd.Parameters.AddWithValue("@TIPO", cbTipo.Text);
        if (decimal.TryParse(txtValorInicial.Text, out var valorInicial) && decimal.TryParse(txtValorFinal.Text, out var valorFinal) && decimal.TryParse(txtLucro.Text, out var lucro))
        {
            cmd.Parameters.AddWithValue("@VALOR_INICIAL", valorInicial);
            cmd.Parameters.AddWithValue("@VALOR_FINAL", valorFinal);
            cmd.Parameters.AddWithValue("@LUCRO", lucro);
        }
        cmd.CommandType = CommandType.StoredProcedure;
        conn.Open();

        try
        {
            int i = cmd.ExecuteNonQuery();

            if (i > 0)
                MessageBox.Show("Produto cadastrado com sucesso!", "Cadastrado!", MessageBoxButtons.OK, MessageBoxIcon.None);
        }
        catch(Exception ex)
        {
            MessageBox.Show("Erro: " + ex.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        finally
        {
            conn.Close();
        }
    }
    else
    {
        SqlConnection conn = new SqlConnection(strConnection);
        SqlCommand cmd = new SqlCommand("ATUALIZAR_PRODUTOS", conn);
        cmd.Parameters.AddWithValue("@CODIGO_PRODUTO", txtCodigoProduto.Text);
        cmd.Parameters.AddWithValue("@DESCRICAO", txtDescricao.Text);
        cmd.Parameters.AddWithValue("@DATA_ENTRADA", dtpDataEntrada.Text);
        cmd.Parameters.AddWithValue("@QUANTIDADE", txtQuantidade.Text);
        cmd.Parameters.AddWithValue("@QUANTIDADE_MINIMA", txtQuantidadeMinima.Text);
        cmd.Parameters.AddWithValue("@TIPO", cbTipo.Text);
        if (decimal.TryParse(txtValorInicial.Text, out var valorInicial) && decimal.TryParse(txtValorFinal.Text, out var valorFinal) && decimal.TryParse(txtLucro.Text, out var lucro))
        {
            cmd.Parameters.AddWithValue("@VALOR_INICIAL", valorInicial);
            cmd.Parameters.AddWithValue("@VALOR_FINAL", valorFinal);
            cmd.Parameters.AddWithValue("@LUCRO", lucro);
        }
        cmd.CommandType = CommandType.StoredProcedure;
        conn.Open();

        try
        {
            int i = cmd.ExecuteNonQuery();

            if (i > 0)
                MessageBox.Show("Produto alterado com sucesso!", "Alterado!", MessageBoxButtons.OK, MessageBoxIcon.None);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Erro: " + ex.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
        finally
        {
            conn.Close();
        }
    }
}

Code block for deletion

private void tsbExcluir_Click(object sender, EventArgs e)
{   
    SqlConnection conn = new SqlConnection(strConnection);
    SqlCommand cmd = new SqlCommand("EXCLUIR_PRODUTO", conn);
    cmd.Parameters.AddWithValue("@CODIGO_PRODUTO", txtCodigoProduto.Text);
    cmd.CommandType = CommandType.StoredProcedure;
    conn.Open();
    try
    {
        int i = cmd.ExecuteNonQuery();
        if (i > 0)
            MessageBox.Show("Produto apagado com sucesso!", "Apagado!", MessageBoxButtons.OK, MessageBoxIcon.None);
    }
    catch (Exception ex)
    {
        MessageBox.Show("Erro: " + ex.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    finally
    {
        conn.Close();
    }
    tsbNovo.Enabled = true;
    tsbSalvar.Enabled = false;
    tsbCancelar.Enabled = false;
    tsbExcluir.Enabled = false;
    tstDescricao.Enabled = true;
    txtCodigoProduto.Enabled = false;
    txtDescricao.Enabled = false;
    dtpDataEntrada.Enabled = false;
    txtQuantidade.Enabled = false;
    txtQuantidadeMinima.Enabled = false;
    cbTipo.Enabled = false;
    txtValorInicial.Enabled = false;
    txtValorFinal.Enabled = false;
    txtCodigoProduto.Text = "";
    txtDescricao.Text = "";
    txtQuantidade.Text = "";
    txtQuantidadeMinima.Text = "";
    cbTipo.Text = "";
    txtValorInicial.Text = "";
    txtValorFinal.Text = "";
    txtLucro.Text = "";
}

Code block to Auto complete% search%

public void AutoCompleteText(ToolStripTextBox txtBox)
{
    SqlConnection conn = new SqlConnection(strConnection);
    SqlCommand cmd = new SqlCommand("SELECT DESCRICAO FROM PRODUTOS", conn);
    SqlDataReader reader;
    conn.Open();

    try
    {
        reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            txtBox.AutoCompleteCustomSource.Add(reader["DESCRICAO"].ToString());
        }
        reader.Close();
    }
    catch(Exception ex)
    {
        MessageBox.Show("Erro: " + ex.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    finally
    {
        conn.Close();
    }
}

Code block for "popular" Textbox with database data

private void frmProdutoEntrada_Load(object sender, EventArgs e)
{
    AutoCompleteText(tstDescricao);
}
    
asked by anonymous 29.05.2018 / 01:56

0 answers