none
C# - Filtro em BD ACCESS pelo ID RRS feed

  • Pergunta

  • Olá.

    Não estou conseguindo realizar filtro pelo ID. Quando realizo busca por colunas que possuem texto funciona. A pesquisa só não funciona com números.

                  

            private void dataGridView1_SelectionChanged(object sender, EventArgs e)
            {
                DataGridViewCell cell = null;
                foreach (DataGridViewCell selectedCell in dataGridView1.SelectedCells)
                {
                    cell = selectedCell;
                    break;                
                }

                if (cell != null)
                {
                    DataGridViewRow row = cell.OwningRow;
                    comb1 = row.Cells[0].Value.ToString(); //coluna que possui o ID 

                    comb11 = Convert.ToInt32(comb1); //variável int32 - tentei usar esta na busca abaixo.

                }
            }

            private void button4_Click(object sender, EventArgs e)
            {
                Visualisar frm1 = new Visualisar();

                try
                {
                    connection.Open();
                    OleDbCommand command = new OleDbCommand();
                    command.Connection = connection;
                    string query = "select * from Ocorrências where EID = '" + comb1 + "'";
                    command.CommandText = query;

                    frm1.comboBox4.Items.Add(comb1);

                    OleDbDataReader reader;
                    reader = command.ExecuteReader();

                    while (reader.Read())
                    {
                        frm1.comboBox1.Text = "comb1";
                        
                    }

                    //MessageBox.Show("Dados editados com sucesso!");
                    connection.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error      " + ex);
                    connection.Close();
                }

                frm1.comboBox1.Text = "";
                frm1.Show();
            }

    quinta-feira, 8 de novembro de 2018 18:39

Respostas

  • O campo da pesquisa é um inteiro e você esta colocando entre aspas. tente assim

      string query = "select * from Ocorrências where EID = " + comb1.ToString();

    Um outro detalhe, não é uma boa pratica utilizar acento em nome de tabela ou colunas no banco de dados.

    Visite nosso site e vai aprender muita coisa boa, inclusive carregar StoredProcedure com parâmetros,

    não deixe de assistir nosso Curso Gratís de Asp.Net MVC 4

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto  

    Visite :  www.codigoexpresso.com.br


    sexta-feira, 9 de novembro de 2018 00:08

Todas as Respostas

  • Boa tarde,

    Não tenho experiência com Ole DB e Access mas experimente fazer uns testes utilizando parâmetro na query:

                    string query = "select * from Ocorrências where EID = ?";
                    command.CommandText = query;
                    command.Parameters.AddWithValue("@p1", comb11);

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    quinta-feira, 8 de novembro de 2018 19:19
  • O campo da pesquisa é um inteiro e você esta colocando entre aspas. tente assim

      string query = "select * from Ocorrências where EID = " + comb1.ToString();

    Um outro detalhe, não é uma boa pratica utilizar acento em nome de tabela ou colunas no banco de dados.

    Visite nosso site e vai aprender muita coisa boa, inclusive carregar StoredProcedure com parâmetros,

    não deixe de assistir nosso Curso Gratís de Asp.Net MVC 4

    Se a resposta contribuiu com seu aprendizado por favor marque como Útil
    Se solucionou seu problema por favor marque como Resposta
    Atenção, se seu problema foi resolvido não deixe o post aberto  

    Visite :  www.codigoexpresso.com.br


    sexta-feira, 9 de novembro de 2018 00:08