C#
- CRUD com FireBird 2.5.1 - III
![]() |
Na segunda parte do artigo eu criei o projeto C# e defini a interface com o usuário e as referências a provedor FireBird .NET, a classe de acesso a dados e a classe de domínio. |
Vamos agora implementar as funcionalidades para realizar as operações CRUD (Create,Read,Update,Delete) no nosso banco de dados FireBird.
Implementando as operações CRUD
Abra o projeto CRUD_FireBird no Visual C# 2010 Express Edition.
Selecione o formulário form1.cs para que possamos implementar o acesso aos métodos definidos em nossa classe de acesso a dados AcessoFB.
1-) No evento Load do formulário vamos preencher o controle DataGridView com todos os dados da tabela Clientes;
Para isso defina o código abaixo neste evento:
| private void Form1_Load(object sender, EventArgs e) { preencheGrid(); } |
O método preencheGrid() tem o seguinte código:
private void preencheGrid()
{
try
{
dgvCientes.DataSource = AcessoFB.fb_GetDados().DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
}
}
|
Neste código usamos o método fb_GetDados() para obter todos os dados da tabela Clientes em um DataTable exibindo-os no controle DataGridView;
2-) No evento Click do botão btnProcurar digite o código abaixo:
private void btnProcurar_Click(object sender, EventArgs e)
{
int codigo = Convert.ToInt32(txtID.Text);
Cliente cliente = new Cliente();
try
{
cliente = AcessoFB.fb_ProcuraDados(codigo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
}
preencheDados(cliente);
}
|
Neste código usamos o método fb_ProcuraDados() passando o código do cliente informado na caixa de texto txtID;
O resultado retornado é um objeto Cliente com os dados que são exibidos via rotina preencheDados(cliente);
O código do da rotina preencheDados() é dado abaixo:
| private void preencheDados(Cliente cli) { txtID.Text = cli.ID.ToString(); txtNome.Text = cli.Nome; txtEndereco.Text = cli.Endereco; txtTelefone.Text = cli.Telefone; txtEmail.Text = cli.Email; } |
3-) No evento CellCLick do controle DataGridView ocorre quando clicamos em uma célula do controle no formulário;
O código abaixo obtém o valor da coluna zero (cells[0]) que representa o ID do cliente e aciona o método fb_ProcuraDados(codigo);
Os dados obtidos irão preencher os controles TextBox do formulário com os valores do cliente selecionado:
private void dgvCientes_CellClick(object sender, DataGridViewCellEventArgs e)
{
int codigo = Convert.ToInt32(dgvCientes.Rows[e.RowIndex].Cells[0].Value);
Cliente cliente = new Cliente();
try
{
cliente = AcessoFB.fb_ProcuraDados(codigo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
}
preencheDados(cliente);
}
|
4-) O código do evento Click do botão Novo a seguir obtém os dados do cliente informados nas caixas de texto e chamada o método fb_InserirDados(cliente) passando as informações do cliente no objeto cliente;
private void btnNovo_Click(object sender, EventArgs e)
{
Cliente cliente = new Cliente();
cliente.ID = Convert.ToInt32(txtID.Text);
cliente.Nome = txtNome.Text;
cliente.Endereco = txtEndereco.Text;
cliente.Telefone = txtTelefone.Text;
cliente.Email = txtEmail.Text;
try
{
AcessoFB.fb_InserirDados(cliente);
preencheGrid();
MessageBox.Show("Cliente inserido com sucesso !", "Inserir", MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
}
}
|
5-) O código do evento Click do botão Limpar abaixo habilita o botão Novo e limpa as caixas de texto do formulário colocando o foco na caixa de texto txtID;
private void btnLimpar_Click(object sender, EventArgs e)
{
btnNovo.Enabled = true;
foreach (Control myControl in groupBox1.Controls)
{
if (myControl as TextBox == null)
{}
else
{
((TextBox)myControl).Text = "";
}
}
txtID.Focus();
}
|
6-) No código do evento Click do botão Alterar atribuímos os valores informados nas caixas de texto preenchendo o objeto Cliente e usamos o método fb_AlterarDados();
private void btnAltera_Click(object sender, EventArgs e)
{
Cliente cliente = new Cliente();
cliente.ID = Convert.ToInt32(txtID.Text);
cliente.Nome = txtNome.Text;
cliente.Endereco = txtEndereco.Text;
cliente.Telefone = txtTelefone.Text;
cliente.Email = txtEmail.Text;
try
{
AcessoFB.fb_AlterarDados(cliente);
preencheGrid();
MessageBox.Show("Cliente alterado com sucesso !", "Alterar", MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
}
}
|
7-) No evento Click do botão Excluir obtemos o ID do cliente e usamos o método fb_ExcluirDados();
private void btnExclui_Click(object sender, EventArgs e)
{
int codigo = Convert.ToInt32(txtID.Text);
try
{
AcessoFB.fb_ExcluirDados(codigo);
preencheGrid();
MessageBox.Show("Cliente excluído com sucesso !", "Alterar", MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK);
}
}
|
Executando o projeto e clicando no DataGridView temos o seguinte resultado:
![]() |
Dessa forma usando o banco de dados FireBird, o provedor FireBird .NET e os recursos da ADO .NET criamos uma camada de acesso a dados e implementamos os métodos que permitem realizar as operações CRUD na tabela Clientes.
Pegue a solução completa
aqui:
CRUD_FireBird.zip
Joã 5:20
Porque o Pai ama ao Filho, e mostra-lhe tudo o que ele mesmo faz; e maiores obras do que estas lhe mostrará, para que vos maravilheis.Joã 5:21
Pois, assim como o Pai levanta os mortos e lhes dá vida, assim também o Filho dá vida a quem ele quer.Joã 5:22
Porque o Pai a ninguém julga, mas deu ao Filho todo o julgamento,Joã 5:23
para que todos honrem o Filho, assim como honram o Pai. Quem não honra o Filho, não honra o Pai que o enviou.Joã 5:24
Em verdade, em verdade vos digo que quem ouve a minha palavra, e crê naquele que me enviou, tem a vida eterna e não entra em juízo, mas já passou da morte para a vida.Referências: