Código C# de Cadastro de Proprietários com CRUD e ADO.NET

Educação Artística9,22 KB

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

Baixar

PDF Word HTML