Ola Minha gente.
Estou a tentar criar um Metodo que me vai Verificar se um determinado dado ou valor de uma Celula do DataGrid existe na BD. Pelo esforço esta, no caso quero verificar se um Conta existe na tabela Subconta. Aqui vai o meu codigo para quem poder ajudar:
private bool VerificaConta(bool p)
{
int cant = 0;
//int counter = 0;
//Conexao
using (SqlConnection con = Conexao.coneta())
{
string sql = "SELECT COUNT (*) FROM SubContas WHERE idSubConta = @idSubConta";
SqlCommand cmd = new SqlCommand(sql, con);
//Determina o tempo do Comando Procurar os Dados na BD;
cmd.CommandTimeout = 60;
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@idSubConta", dataGridLança.CurrentRow.Cells["Conta"]);
//Realiza a Consulta
cant = Convert.ToInt32(cmd.ExecuteScalar());
if (cant > 0)
{
//Instancia de um novo objecto Subconta
DataGridViewRow row = dataGridLança.CurrentRow;
row.Cells["Conta"].Value = cant;
return true;
}
else
{
return false;
}
}
}
E para o meu Botão Lançamento tenho:
private void butInserirMov_Click(object sender, EventArgs e)
{
int counter = 0;
//Criamos um objecto Conta
bool Ret = VerificaConta(dataGridLança.Rows[counter].Cells["Conta"].Value != null);
//
if (Ret)
{
MessageBox.Show("Lançamento efectuado com sucesso!");
//Limpa os Controles Depois de Clicar no botaão Ok
this.dataGridLança.CurrentRow.Cells["Conta"] = null;
}
else
{
MessageBox.Show("Erro! Verifica o seu Lançamentoe tente novamente.");
//Limpa os Controles Depois de Ok
//Poe o focu na celula Conta
this.dataGridLança.CurrentRow.Cells["Conta"] = null;
}
gravarMov();
}
Agradeço desde já a todos
Atenciosamente,
NekFred,Lda