Olá pessoal, Estou com problema em verificar se o ID (chave-primária) que o usuário digitou existe no Banco de Dados. Entendendo o contexto: 1- Na camada de interface há a chamada do método VerificaChave: if (bccustomers.VerificaChave(ecustomers.getCustomerID()) == true)
{
MessageBox.Show("O Customer ID informado já existe!\nDigite outro valor.");
}
else
{
//etc
}
2- Na camada de Negócios monto uma query, que contará o número de ID iguais (no caso, o máximo seria 1):
public Boolean VerificaChave(String CustomerID)
{
queryString = "SELECT COUNT(*) FROM Customers WHERE CustomerID ='" + CustomerID + "'";
return dados.VerificaChave(queryString);
}
3- Na camada de dados eu executo a query:
public Boolean VerificaChave(String queryString)
{
Conectar();
OleDbCommand command = new OleDbCommand(queryString, conexao);
Int32 recordsAffected = command.ExecuteNonQuery();
Desconectar();
if (recordsAffected == 1)
{
//existe chave repetida
return true;
}
//não existe chave repetida
return false;
} Meu professor disse que recordsAffected guardaria o resultado da contagem... Entretanto, quando faço o Debug do programa verifico que recordsAffected sempre está em zero. (Ou seja, testando com uma chave que existe no BD e também com uma que ainda não existe) Alguém pode me ajudar? Obs.: Utilizo o Visual Studio 2008 Express Edition. Agradeço desde já, Ewerton.