Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

claudioenner

DateTime em C# com campo na tebela de length de 8.

Recommended Posts

Pessoal não estou conseguindo fazer um insert na minha tabela usando o c#, meu banco de dados é SQL server e bem antigo, o campo onde guardo a data tem um length de no máximo 8 caracter. Não posso editar na tabela para aceitar mais pois pode influenciar outros sistemas.

 

Esse é o código que estou usando para fazer o insert:

 

{
string CodUsr = "codigo";
string NomUsr = "Nome do usuário";
string PswUsr = "5E94A12F6C0A7502ED3E0FBDE9853C5E664A0DA911AF1ED5";
string TipUsr = "U";
short SitUsr = 1;
string DatVncPsw = System.DateTime.Now.ToShortDateString();
//Esses são alguns testes que não deram sucesso.
//string dia, mes, ano;
//dia = DateTime.Now.Day.ToString();
//mes = DateTime.Now.Month.ToString();
//ano = DateTime.Now.Year.ToString();
//DateTime data = Convert.ToDateTime( dia + "/" + mes + "/" + ano);
//DateTime DatVncPsw = Convert.ToDateTime("15/10/2013");// DateTime.Parse("15/10/2013");
//data = Convert.ToString(data.ToString().Substring(0, 10).Replace("/", ""));
//DateTime a = Convert.ToDateTime( string.Format("{0:dd/MM/yyyy}", teste));
//DateTime b;
//b.Date.Add(Convert.ToDateTime(teste).ToShortDateString());
short NumPswErr = 2;
string PflUsr = "master";
short TipoAlmox = 1;
string AltUsrAlmox = "Administrador";
DAL.DataSetTableAdapters.TabelaTableAdapter Tab = new DAL.DataSetTableAdapters.TabelaTableAdapter();
int n = Tab.Insert(CodUsr, NomUsr, PswUsr, TipUsr, SitUsr, Convert.ToDateTime(DatVncPsw), NumPswErr, PflUsr, TipoAlmox, AltUsrAlmox);
//TextBox1.Text = n.ToString();
}
Se não for possível no código vou fazer uma procedure e converter no banco mesmo.
Esse é o erro que dá quando clico no botão inserir:
"The statement has been terminated. String or binary data would be truncated."
Aguardo respostas

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

No c# ele não aceita Date, só tem o DateTime.

 

Se fizer assim:

 

DateTime DatVncPsw = Convert.ToDateTime("15/10/2013");

 

int n = Tab.Insert(CodUsr, NomUsr, PswUsr, TipUsr, SitUsr, Convert.ToDateTime(DatVncPsw), NumPswErr, PflUsr, TipoAlmox, AltUsrAlmox);

 

Dá o seguinte erro:

The statement has been terminated.String or binary data would be truncated.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Roberto pela ajuda, encontrei o meu problema, eu tinha referenciado uma DAL.dll e nela estava meu método para inserir na tabela que usa um tableadapter. Estava tentando inserir sem usar ele, através de um insert e não usando o método update que o tableadapter constrói para mim.

 

De qualquer forma obrigado pela ajuda aos colegas do fórum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.