I can’t register dates

Asked

Viewed 84 times

0

I have a form with two dates, however, when I register them returns me the following error:

Character string not recognized as valid datetime.

What can it be?

This application is done in four layers:

  1. The layer modelos is where the class is
  2. The layer DAL is where the bank connection code is
  3. The layer BLL is where the business rule code is
  4. layer UIWindows is where the form button code 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();
        }
    }

}

}

Layer BLL:

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


}

}
  • Lucas add your code to your question, please

  • Oops, thank you very much Virgilio, I’ll post.

  • The date that comes from the form is arriving at the back end? .

  • The guy thanks for the help, I managed to solve, the problem was in this stretch of the DAL layer, the solution was like this: cmd.Parameters.Addwithvalue("@DT_ENTRADA", Sqldbtype.Datetime2). Value = exemplary.Date entered;

  • @Lucasbarbosafonseca It would be nice if you post your resolution as an answer to your question so that the next one who has this doubt can be helped more easily :)

  • Oops, I’ll put it on, thanks buddy.

Show 1 more comment

1 answer

0

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

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

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

The solution of these problems remained so:

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

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

Hug.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.