Código C# de Cadastro de Proprietários com CRUD e ADO.NET
Programa de Cadastro de Proprietários em C#
Programa
enum ModoOperacao { alteracao, inclusao, consulta }
private void AlteraParaModo(ModoOperacao modo)
{
txt_cod.Enabled = (modo != ModoOperacao.consulta);
txt_nome.Enabled = (modo != ModoOperacao.consulta);
dt_nasc.Enabled = (modo != ModoOperacao.consulta);
btn_incluir.Enabled = (modo == ModoOperacao.consulta);
btn_alterar.Enabled = (modo == ModoOperacao.consulta);
btn_excluir.Enabled = (modo == ModoOperacao.consulta);
btn_gravar.Enabled = (modo != ModoOperacao.consulta);
btn_cancelar.Enabled = (modo != ModoOperacao.consulta);
if (modo == ModoOperacao.inclusao)
{
txt_cod.Enabled = true;
LimpaCamposTela();
}
else
txt_cod.Enabled = false;
}
private void PreencheCamposTela(PropVO Prop)
{
if (Prop != null)
{
txt_cod.Text = Prop.GetId().ToString();
txt_nome.Text = Prop.GetNome().ToString();
dt_nasc.Text = Prop.GetDtNasc().ToString("dd/MM/yyyy");
}
}
private void LimpaCamposTela()
{
txt_cod.Clear();
txt_nome.Clear();
dt_nasc.ResetText();
}
PropVO
private int id; //Obrigatório
private string nome; //Obrigatório
private DateTime DtNasc; //Obrigatório
ID_PROP
public void Set_Id(int pValor)
{
if (pValor <= 0)
throw new Exception("Valor não pode ser menor ou igual a zero.");
id = pValor;
}
public int GetId()
{
return id;
}
NOME
public void SetNome(string pNome)
{
if (pNome.Trim().Length == 0)
throw new Exception("Digite um proprietário.");
nome = pNome;
}
public string GetNome()
{
return nome;
}
DT_NASC
public void SetDtNasc(DateTime pData)
{
if (DateTime.Now.CompareTo(pData) < 0)
throw new Exception("A data escolhida está errada.");
DtNasc = pData;
}
public DateTime GetDtNasc()
{
return DtNasc;
}
PropDAO
public static void Insere(PropVO Prop)
{
PropVO pesquisado = PropDAO.Consultar(Prop.GetId());
if (pesquisado != null)
throw new Exception("ID do Proprietário já existe.");
string sql = string.Format("INSERT INTO PROPRIETARIO " +
"(ID_PROP, NOME_PROP, DATANASC_PROP) " +
" VALUES " + "({0},'{1}', '{2}');",
Prop.GetId(), Prop.GetNome(), Prop.GetDtNasc());
Metodos.ExecutaSQL(sql);
}
public static void Excluir(int id)
{
string sql = "DELETE PROPRIETARIO WHERE ID_PROP " + id;
Metodos.ExecutaSQL(sql);
}
public static void Alterar(PropVO Prop)
{
string sql = string.Format("UPDATE PROPRIETARIO SET " +
"NOME_PROP = '{0}', DATANASC_PROP = '{1}' " +
"WHERE ID_PROP = {2}",
Prop.GetNome(), Prop.GetDtNasc(), Prop.GetId());
Metodos.ExecutaSQL(sql);
}
public static PropVO Consultar(int id)
{
string sql = "SELECT * FROM PROPRIETARIO WHERE ID_PROP = " + id;
DataTable tabela = Metodos.ExecutaSelect(sql);
if (tabela != null)
{
DataRow registro = tabela.Rows[0];
PropVO Prop = new PropVO();
Prop.Set_Id(Convert.ToInt32(registro["id_prop"]));
Prop.SetNome(registro["nome_prop"].ToString());
Prop.SetDtNasc(Convert.ToDateTime(registro["datanasc_prop"]));
return Prop;
}
else
return null;
}
public static PropVO MontaPropVO(DataRow registro)
{
PropVO Prop = new PropVO();
Prop.Set_Id(Convert.ToInt32(registro["id_prop"]));
Prop.SetNome(registro["nome_prop"].ToString());
Prop.SetDtNasc(Convert.ToDateTime(registro["datanasc_prop"]));
return Prop;
}
public static PropVO Primeiro()
{
string sql = "SELECT TOP 1 * FROM PROPRIETARIO ORDER BY ID_PROP";
DataTable tabela = Metodos.ExecutaSelect(sql);
if (tabela != null)
return MontaPropVO(tabela.Rows[0]);
else
return null;
}
Eventos de Botões
private void btn_incluir_Click(object sender, EventArgs e)
{
AlteraParaModo(ModoOperacao.inclusao);
txt_cod.Text = PropDAO.ProximoCodigoProp().ToString();
}
private void btn_alterar_Click(object sender, EventArgs e)
{
AlteraParaModo(ModoOperacao.alteracao);
}
private void btn_excluir_Click(object sender, EventArgs e)
{
if (Metodos.ValidaInteiro(txt_cod.Text) == false)
{
MessageBox.Show("Número Inválido!");
txt_cod.Focus();
return;
}
if (MessageBox.Show("Deseja Excluir?", MessageBoxButtons.YesNo) == DialogResult.Yes) == false)
return;
try
{
PropDAO.Excluir(Convert.ToInt32(txt_cod.Text));
PropVO Prop = PropDAO.Primeiro();
if (Prop == null)
LimpaCamposTela();
else
PreencheCamposTela(Prop);
}
catch (Exception erro)
{
MessageBox.Show(erro.Message);
}
}
}
private void btn_gravar_Click(object sender, EventArgs e)
{
if (Metodos.ValidaInteiro(txt_cod.Text) == false)
{
MessageBox.Show("Número Inválido!");
txt_cod.Focus();
return;
}
if (txt_nome.Text.Trim() == "")
{
MessageBox.Show("Digite um Proprietário!");
txt_nome.Focus();
return;
}
try
{
PropVO Prop = new PropVO();
Prop.Set_Id(Convert.ToInt32(txt_cod.Text));
Prop.SetNome(txt_nome.Text);
Prop.SetDtNasc(Convert.ToDateTime(dt_nasc.Text));
if (txt_cod.Enabled)
PropDAO.Insere(Prop);
else
PropDAO.Alterar(Prop);
MessageBox.Show("Gravado com Sucesso!");
AlteraParaModo(ModoOperacao.consulta);
}
catch (Exception erro)
{
MessageBox.Show(erro.Message);
}
}
private void btn_cancelar_Click(object sender, EventArgs e)
{
if (txt_cod.Enabled == true)
{
AlteraParaModo(ModoOperacao.consulta);
PropVO Prop = PropDAO.Primeiro();
if (Prop == null)
LimpaCamposTela();
else
PreencheCamposTela(Prop);
}
else
AlteraParaModo(ModoOperacao.consulta);
}
METODO
public static bool ValidaInteiro(string Valor)
{
try
{ Convert.ToInt32(Valor);
return true; }
catch
{ return false; }
}
public static DataTable ExecutaSelect(string select)
{
SqlConnection conexao = ConexaoBD.GetConexao();
try
{
SqlDataAdapter adapter = new SqlDataAdapter(select, conexao);
DataTable tabela = new DataTable();
adapter.Fill(tabela);
if (tabela.Rows.Count >= 1)
return tabela;
else
return null;
}
finally
{
conexao.Close();
}
}
public static void ExecutaSQL(string sql)
{
SqlConnection conexao = ConexaoBD.GetConexao();
try
{
SqlCommand comando = new SqlCommand(sql, conexao);
comando.ExecuteNonQuery();
}
finally
{
conexao.Close();
}
}