Usuário com melhor resposta
C# - Filtro em BD ACCESS pelo ID

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 IDcomb11 = 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();
}
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- Marcado como Resposta Filipe B CastroModerator sexta-feira, 7 de dezembro de 2018 17:15
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
-
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- Marcado como Resposta Filipe B CastroModerator sexta-feira, 7 de dezembro de 2018 17:15