I can not register dates

0

I have a Form with two dates, however, when I register them I get the following error:

  

String was not recognized as a valid DateTime.

What can it be?

This application is made in four layers:

  • The modelos layer is where the class is
  • The DAL layer is where the code for the connection to the bank is
  • The BLL layer is where the business rule code is located
  • layer UIWindows is where the code of the form buttons is.
  • Layer Models:

    namespace Biblioteca.Modelos
    {
    public class ExemplarModelos
    {
        private int _idExemplar;
    
        public int IdExemplar
        {
            get { return _idExemplar; }
            set { _idExemplar = value; }
        }
    
    
    
        private int _codigoObra;
    
        public int CodigoObra
        {
            get { return _codigoObra; }
            set { _codigoObra = value; }
        }
    
    
    
        private string _subTituloExemplar;
    
        public string SubTituloExemplar
        {
            get { return _subTituloExemplar; }
            set { _subTituloExemplar = value; }
        }
    
    
    
        private int _codigoVolExemplar;
    
        public int CodigoVolExemplar
        {
            get { return _codigoVolExemplar; }
            set { _codigoVolExemplar = value; }
        }
    
    
    
        private int _numExemplar;
    
        public int NumExemplar
        {
            get { return _numExemplar; }
            set { _numExemplar = value; }
        }
    
    
    
        private int _numTomboExemplar;
    
        public int NumTomboExemplar
        {
            get { return _numTomboExemplar; }
            set { _numTomboExemplar = value; }
        }
    
    
    
        private string _numEdicaoExemplar;
    
        public string NumEdicaoExemplar
        {
            get { return _numEdicaoExemplar; }
            set { _numEdicaoExemplar = value; }
        }
    
    
    
        private string _anoEdicaoExemplar;
    
        public string AnoEdicaoExemplar
        {
            get { return _anoEdicaoExemplar; }
            set { _anoEdicaoExemplar = value; }
        }
    
    
    
        private int _numPagsExemplar;
    
        public int NumPagsExemplar
        {
            get { return _numPagsExemplar; }
            set { _numPagsExemplar = value; }
        }
    
    
    
        private string _permissaoEmprestimo;
    
        public string PermissaoEmprestimo
        {
            get { return _permissaoEmprestimo; }
            set { _permissaoEmprestimo = value; }
        }
    
    
    
        private DateTime _dataEntradaExemplar;
    
        public DateTime DataEntradaExemplar
        {
            get { return _dataEntradaExemplar; }
            set { _dataEntradaExemplar = value; }
        }
    
    
    
        private string _tipoPeriodicidadeExemplar;
    
        public string TipoPeriodicidadeExemplar
        {
            get { return _tipoPeriodicidadeExemplar; }
            set { _tipoPeriodicidadeExemplar = value; }
        }
    
    
    
        private DateTime _dataHemerotecaExemplar;
    
        public DateTime DataHemerotecaExemplar
        {
            get { return _dataHemerotecaExemplar; }
            set { _dataHemerotecaExemplar = value; }
        }
    
    
    
        private string _tipoSerieOuColecao;
    
        public string TipoSerieOuColecao
        {
            get { return _tipoSerieOuColecao; }
            set { _tipoSerieOuColecao = value; }
        }
    
    
    
        private string _descSerieOuColecao;
    
        public string DescSerieOuColecao
        {
            get { return _descSerieOuColecao; }
            set { _descSerieOuColecao = value; }
        }
    
    
    
    
        private string _localizacaoExemplar;
    
        public string LocalizacaoExemplar
        {
            get { return _localizacaoExemplar; }
            set { _localizacaoExemplar = value; }
        }
    
    
    
        private string _codigoIsbn;
    
        public string CodigoIsbn
        {
            get { return _codigoIsbn; }
            set { _codigoIsbn = value; }
        }
    
    
    
    
        private int _codigoEdi;
    
        public int CodigoEdi
        {
            get { return _codigoEdi; }
            set { _codigoEdi = value; }
        }
    
    
        private string _codigoCdd;
    
        public string CodigoCdd
        {
            get { return _codigoCdd; }
            set { _codigoCdd = value; }
        }
    
    }
    
    }
    

    DAL layer:

    namespace Biblioteca.DAL
    {
    public class ExemplarDAL
    {
        public void Incluir_exemplar(ExemplarModelos exemplar)
        {
            //conexão
            SqlConnection cn = new SqlConnection();
            SqlTransaction t = null;
    
            try
            {
                cn.ConnectionString = Dados.StringDeConexao;
    
                //command                      
                SqlCommand cmd = new SqlCommand();
    
                cmd.Connection = cn;
    
                cmd.CommandText = @"INSERT INTO Exemplar
                (CD_OBRA, DS_SUBTITULO, CD_VOLUME, NR_EXEMPLAR, NR_TOMBO, NR_EDICAO, ANO_EDICAO, NR_PAGINAS, LG_EMPRESTIMO, DT_ENTRADA, " +
                 "TP_PERIODICIDADE, DT_HEMEROTECA, TP_SERIECOL, DS_SERIECOL, DS_LOCALIZACAO, CD_ISBN, CD_EDITORA, CD_CDD) VALUES (@CD_OBRA, " +
                 "@DS_SUBTITULO, @CD_VOLUME, @NR_EXEMPLAR, @NR_TOMBO, @NR_EDICAO, @ANO_EDICAO, @NR_PAGINAS, @LG_EMPRESTIMO, @DT_ENTRADA, " +
                 "@TP_PERIODICIDADE, @DT_HEMEROTECA, @TP_SERIECOL, @DS_SERIECOL, @DS_LOCALIZACAO, @CD_ISBN, @CD_EDITORA, @CD_CDD);select @@IDENTITY;";
    
                //command Obra
                SqlCommand cmd2 = new SqlCommand();
    
                cmd2.Connection = cn;
    
                cmd2.CommandText = @"SELECT CD_OBRA FROM Obra";
    
                //command Editora
                SqlCommand cmd3 = new SqlCommand();
    
                cmd3.Connection = cn;
    
                cmd3.CommandText = @"SELECT CD_EDITORA FROM Editora";
    
                //command Cdd
                SqlCommand cmd4 = new SqlCommand();
    
                cmd4.Connection = cn;
    
                cmd4.CommandText = @"SELECT CD_CDD FROM Cdd";
    
                cn.Open();
    
                t = cn.BeginTransaction(IsolationLevel.Serializable);//default
    
                cmd.Transaction = t;
    
                cmd2.Transaction = t;
    
                cmd3.Transaction = t;
    
                cmd4.Transaction = t;
    
                cmd.Parameters.AddWithValue("@CD_OBRA", exemplar.CodigoObra);
                cmd.Parameters.AddWithValue("@DS_SUBTITULO", exemplar.SubTituloExemplar);
                cmd.Parameters.AddWithValue("@CD_VOLUME", exemplar.CodigoVolExemplar);
                cmd.Parameters.AddWithValue("@NR_EXEMPLAR", exemplar.NumExemplar);
                cmd.Parameters.AddWithValue("@NR_TOMBO", exemplar.NumTomboExemplar);
                cmd.Parameters.AddWithValue("@NR_EDICAO", exemplar.NumEdicaoExemplar);
                cmd.Parameters.AddWithValue("@ANO_EDICAO", exemplar.AnoEdicaoExemplar);
                cmd.Parameters.AddWithValue("@NR_PAGINAS", exemplar.NumPagsExemplar);
                cmd.Parameters.AddWithValue("@LG_EMPRESTIMO", exemplar.PermissaoEmprestimo);
                cmd.Parameters.AddWithValue("@DT_ENTRADA", exemplar.DataEntradaExemplar);
                cmd.Parameters.AddWithValue("@TP_PERIODICIDADE", exemplar.TipoPeriodicidadeExemplar);
                cmd.Parameters.AddWithValue("@DT_HEMEROTECA", exemplar.DataHemerotecaExemplar);
                cmd.Parameters.AddWithValue("@TP_SERIECOL", exemplar.TipoSerieOuColecao);
                cmd.Parameters.AddWithValue("@DS_SERIECOL", exemplar.DescSerieOuColecao);
                cmd.Parameters.AddWithValue("@DS_LOCALIZACAO", exemplar.LocalizacaoExemplar);
                cmd.Parameters.AddWithValue("@CD_ISBN", exemplar.CodigoIsbn);
                cmd.Parameters.AddWithValue("@CD_EDITORA", exemplar.CodigoEdi);
                cmd.Parameters.AddWithValue("@CD_CDD", exemplar.CodigoCdd);
                cmd2.Parameters.AddWithValue("@CD_OBRA", exemplar.CodigoObra);
                cmd3.Parameters.AddWithValue("@CD_EDITORA", exemplar.CodigoEdi);
                cmd4.Parameters.AddWithValue("@CD_CDD", exemplar.CodigoCdd);
    
                exemplar.IdExemplar = Convert.ToInt32(cmd.ExecuteScalar());
    
                cmd2.ExecuteNonQuery();
    
                cmd3.ExecuteNonQuery();
    
                cmd4.ExecuteNonQuery();
    
                t.Commit();
            }
            catch (Exception ex)
            {
                t.Rollback();
                throw new Exception("Servidor no Servidor:" + ex.Message);
            }
            finally
            {
                cn.Close();
            }
        }
    
    }
    
    }
    

    BLL Layer:

    namespace Biblioteca.BLL
    {
    public class ExemplarBLL
    {
    
    
        public void Incluir_exemplar(ExemplarModelos exemplar)
        {
            ExemplarDAL obj = new ExemplarDAL();
            obj.Incluir_exemplar(exemplar);
        }
    }
    
    }
    

    UIWindows Layer:

    namespace UIWindows
    {
    public partial class ExemplarForm : Form
    {
        public ExemplarForm()
        {
            InitializeComponent();
        }
    
    
        private void bt_incluir_exe_Click(object sender, EventArgs e)
        {  
                try
                {
                    ExemplarModelos exemplar = new ExemplarModelos();
    
                    exemplar.CodigoObra = (int)comboBoxCodigoObra.SelectedValue;
                    exemplar.SubTituloExemplar = textBoxSubTituloExe.Text;
                    exemplar.CodigoVolExemplar = int.Parse(textBoxVolumeExe.Text);
                    exemplar.NumExemplar = int.Parse(textBoxNumExe.Text);
                    exemplar.NumTomboExemplar = int.Parse(textBoxNumTomboExe.Text);
                    exemplar.NumEdicaoExemplar = textBoxNumEdicaoExe.Text;
                    exemplar.AnoEdicaoExemplar = textBoxAnoEdicaoExe.Text;
                    exemplar.NumPagsExemplar = int.Parse(textBoxNumPaginasExe.Text);
                    exemplar.PermissaoEmprestimo = CBPermissaoEmprestimoExe.Text;
    
                    exemplar.DataEntradaExemplar = Convert.ToDateTime(maskedTextBoxDataEntradaExe.Text);
    
                    exemplar.TipoPeriodicidadeExemplar = CBTipoPeriodicidade.Text;
    
                    exemplar.DataHemerotecaExemplar = Convert.ToDateTime(maskedTextBoxDataHemerotecaExe.Text);
    
                    exemplar.TipoSerieOuColecao = CBSerieColecaoExe.Text;
                    exemplar.DescSerieOuColecao = textBoxDescSerieOuColecaoExe.Text;
                    exemplar.LocalizacaoExemplar = textBoxLocalizacaoExe.Text;
                    exemplar.CodigoIsbn = textBoxIsbnExe.Text;
                    exemplar.CodigoEdi = (int)comboBoxCodigoEditoraExe.SelectedValue;
                    exemplar.CodigoCdd = Convert.ToString(comboBoxCodCdd.SelectedValue);
    
                    ExemplarBLL obj = new ExemplarBLL();
    
                    obj.Incluir_exemplar(exemplar);
    
                    MessageBox.Show("O exemplar foi incluído com sucesso!");
    
                    textBoxIDExe.Text = Convert.ToString(exemplar.IdExemplar);
    
                    AtualizaGridExemplar();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro: " + ex.Message);
                }  
        }
    
    
    }
    
    }
    
        
    asked by anonymous 09.12.2016 / 23:45

    1 answer

    0

    Good afternoon guys, I managed to solve this problem, it was on the DAL layer, the following excerpts were wrong:

    cmd.Parameters.AddWithValue("@DT_ENTRADA", exemplar.DataEntradaExemplar);
    
    cmd.Parameters.AddWithValue("@DT_HEMEROTECA", exemplar.DataHemerotecaExemplar);
    

    The solution to these problems looks like this:

    cmd.Parameters.AddWithValue("@DT_ENTRADA", SqlDbType.DateTime2).Value = exemplar.DataEntradaExemplar;
    
    cmd.Parameters.AddWithValue("@DT_HEMEROTECA", SqlDbType.DateTime2).Value = exemplar.DataHemerotecaExemplar;
    

    Hug.

        
    13.12.2016 / 19:00