Sunteți pe pagina 1din 5

C# - CRUD com FireBird 2.5.1 - III http://www.macoratti.net/13/02/c_fbd3.

htm

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)
{

1 de 5Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/) 14/03/2013 13:08
C# - CRUD com FireBird 2.5.1 - III http://www.macoratti.net/13/02/c_fbd3.htm

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;

2 de 5Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/) 14/03/2013 13:08
C# - CRUD com FireBird 2.5.1 - III http://www.macoratti.net/13/02/c_fbd3.htm

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();

3 de 5Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/) 14/03/2013 13:08
C# - CRUD com FireBird 2.5.1 - III http://www.macoratti.net/13/02/c_fbd3.htm

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.

4 de 5Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/) 14/03/2013 13:08
C# - CRUD com FireBird 2.5.1 - III http://www.macoratti.net/13/02/c_fbd3.htm

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:

Seção VB .NET do Site Macoratti.net


Super DVD .NET - A sua porta de entrada na plataforma .NET
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Seção C# do site Macoratti.net
Conexão com o FireBird 1.5 - Macoratti.net
VB - Acessando o FireBird - Macoratti.net
Acessando e mantendo dados no FireBird Embarcado - Macoratti.net
ASp - Acessando o FireBird 1.5 - Macoratti.net
Conexão com o FireBird Embarcado - Macoratti.net
C# - Acessando FireBird em uma aplicação Windows ... - Macoratti.net
http://www.firebirdsql.org/
http://www.firebase.com.br/fb/

José Carlos Macoratti

5 de 5Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/) 14/03/2013 13:08

S-ar putea să vă placă și