Um tutorial simples de como trabalhar com DataSet Tipado no Windows Form.
Facil e rapido!
Neste artigo foi feito:
- Criei uma tabela cliente no banco
- Criei um formul rio Principal WindowsForm com funcionalidades de INSERT, DELETE e UPDATE
- Criei outro formul rio Pesquisa WindowsForm com funcionalidade de SELECT e com possibilidade de selecionar o cliente desejado, para edit -lo no formul rio Principal.
- Criei um DataSet com os métodos de SELECT, INSERT, DELETE e UPDATE.
- Criei uma classe est tica para guardar temporariamente o cliente selecionado.
Segue o video tutorial: http://vimeo.com/14344312
Arquivos:
Sql do Banco, Projeto no Visual Studio, Video do desenvolvimento
Como o projeto est em Visual Studio 10, aqui vão os código do formul rio principal e pesquisa.
frmPrincipal:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MinhaAplicacao.dsDadosTableAdapters;
namespace MinhaAplicacao {
public partial class frmPrincipal : Form {
ClienteTableAdapter clienteTA = new ClienteTableAdapter();
public void Limpar() {
txtCodigo.Text = string.Empty;
txtCodigo.Enabled = false;
txtNome.Text = string.Empty;
txtEmail.Text = string.Empty;
cSelecinado.codigoSelecionado = 0;
MessageBox.Show(& amp; amp; amp; amp; amp; amp; amp; amp; quot; Operação realizada com sucesso & amp; amp;
amp; amp; amp; amp; amp; amp; amp; quot;);
}
public frmPrincipal() {
InitializeComponent();
}
private void btnGravar\_Click(object sender, EventArgs e) {
try {
if (txtCodigo.Text == string.Empty) {
clienteTA.Insert(txtNome.Text, txtEmail.Text);
} else {
int codigo = Convert.ToInt32(txtCodigo.Text);
clienteTA.UpdateCliente(txtNome.Text, txtEmail.Text, codigo);
}
Limpar();
} catch {
}
}
private void btnPesquisar\_Click(object sender, EventArgs e) {
frmPesquisa fPesquisa = new frmPesquisa();
fPesquisa.ShowDialog();
if (cSelecinado.codigoSelecionado != 0) {
txtCodigo.Text = clienteTA.BuscarPorCodigo(cSelecinado.codigoSelecionado)\[0\].idCliente.ToString();
txtNome.Text = clienteTA.BuscarPorCodigo(cSelecinado.codigoSelecionado)\[0\].nome;
txtEmail.Text = clienteTA.BuscarPorCodigo(cSelecinado.codigoSelecionado)\[0\].email;
}
}
private void btnDeletar\_Click(object sender, EventArgs e) {
try {
if (txtCodigo.Text != string.Empty) {
clienteTA.DeleteCliente(Convert.ToInt32(txtCodigo.Text));
}
Limpar();
} catch {
}
}
}
}
frmPesquisa:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MinhaAplicacao.dsDadosTableAdapters;
namespace MinhaAplicacao {
public partial class frmPesquisa : Form {
ClienteTableAdapter clienteTA = new ClienteTableAdapter();
public frmPesquisa() {
InitializeComponent();
}
private void frmPesquisa\_Load(object sender, EventArgs e) {
this.clienteTableAdapter.FillTodos(this.dsDados.Cliente);
}
private void btnPesquisar\_Click(object sender, EventArgs e) {
if (txtCodigo.Text != string.Empty) {
int codigo = Convert.ToInt32(txtCodigo.Text);
dataGridView1.DataSource = clienteTA.BuscarPorCodigo(codigo);
} else if (txtNome.Text != string.Empty) {
dataGridView1.DataSource = clienteTA.BuscarPorNome(txtNome.Text);
} else {
dataGridView1.DataSource = clienteTA.BuscarPorEmail(txtEmail.Text);
}
}
private void btnSelecionar\_Click(object sender, EventArgs e) {
int codigoSelecionado = Convert.ToInt32(dataGridView1.CurrentRow.Cells\[0\].Value);
cSelecinado.codigoSelecionado = codigoSelecionado;
this.Close();
}
}
}
cSelecionado:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MinhaAplicacao {
static class cSelecinado {
static public int codigoSelecionado = 0;
}
}