Este artigo ilustra a utilização do ADO.Net Entity Framework
na criação, actualização e eliminação de registos de dados.
Este artigo vem na sequência de:
onde vimos como criar um modelo de dados (ADO.Net Entity Data Model) a partir de
uma base de dados já existente, e como usar esse modelo, num pequeno exemplo
ilustrativo, para consulta da base de dados e preenchimento de uma comboBox.
Pegando no mesmo exemplo, acrescentámos à Form1 mais uma label, para visualizar o
ID de cada registo, e uma caixa de texto, para podermos alterar o nome do país
ou criar um novo país.
Foram também acrescentados botões para Criar Novo, Alterar e Apagar um país da tabela, e um botão Cancelar, que fecha a janela da
aplicação.
Para começar, acrescentámos no handler que trata da selecção
de uma nova linha da comboBox o código necessário para preencher a label
(label1) com o ID do país, e a caixa de texto (paisTextBox) com o nome do país. Isto permite ao utilizador editar
o nome actual de um país, para o poder alterar, ou inserir um novo nome, para
criar um novo país na tabela.
private void
paisesBox1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text =
paisesBox1.SelectedValue.ToString();
//paisTextBox.Text
= paisesBox1.SelectedText;
paisAtual = (Pais)paisesBox1.SelectedItem;
paisTextBox.Text = paisAtual.nome;
}
Alterar Descrição de um País:
Criamos como método handler do click do botão “Alterar” o seguinte:
private
void UpdateBut_Click(object
sender, EventArgs e)
{
paisAtual.nome = paisTextBox.Text;
int
rowsAffected = dbContext.SaveChanges();
MessageBox.Show("Efetuadas " + rowsAffected.ToString() +
" alterações à tabela.");
}
Criar um novo País:
Criamos como método handler do click do botão “Criar Novo” o seguinte:
private void CreateBut_Click(object sender, EventArgs
e)
{
Pais novoPais = new
Pais();
novoPais.nome = paisTextBox.Text;
dbContext.AddToPaises(novoPais);
int rowsAffected = dbContext.SaveChanges();
paisAtual = novoPais;
MessageBox.Show("Criado(s)
" + rowsAffected.ToString() + "
novo registo na tabela.");
dbContext = new
simpleEntityFrameworkApp.bdExemploEntities();
paisesBox1.DataSource = dbContext.Paises;
paisesBox1.DisplayMember
= "nome";
}
Apagar um País:
Criamos como método handler do click do botão “Apagar” o seguinte:
private
void delButton_Click(object
sender, EventArgs e)
{
dbContext.DeleteObject(paisAtual);
int
rowsAffected = dbContext.SaveChanges();
MessageBox.Show("Apagados " + rowsAffected.ToString() + " registos da tabela.");
label1.Text =
paisesBox1.SelectedValue.ToString();
paisAtual
= (Pais)paisesBox1.SelectedItem;
paisTextBox.Text = paisAtual.nome;
}
Por fim, o handler do botão “Cancelar”
apenas liberta o contexto de mapeamento com a base de dados e fecha o form.
private void
Cancelbotao_Click(object sender, EventArgs e)
{
dbContext.Dispose();
this.Close();
}
Outros artigos relacionados:
- ADO.Net Entity Framework
- ADO.Net Entity Framework
Mais uma vez, quem estiver interessado em obter o código com o exemplo, por favor peça-o num comentário a este artigo.
Sem comentários:
Enviar um comentário