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:
- The layer
modelos
is where the class is - The layer
DAL
is where the bank connection code is - The layer
BLL
is where the business rule code is - 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
– novic
Oops, thank you very much Virgilio, I’ll post.
– Lucas Barbosa Fonseca
The date that comes from the form is arriving at the back end? .
– Lara
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;
– Lucas Barbosa Fonseca
@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 :)
– R.Santos
Oops, I’ll put it on, thanks buddy.
– Lucas Barbosa Fonseca