Ir para conteúdo

POWERED BY:

Arquivado

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

thesco2

erro ao retornar data!

Recommended Posts

Olá pesssoal! sou novo em c# e estou com um probleminha aqui no meu projeto

bom, eu insiro a data no banco sql 2008, até ai, tudo bem! mais quando eu dô um select

para retornar a data para uma maskedtextbox, a data retorna quebrada!

no inserte ela grava assim no banco "02/02/2013"

no select ela retorna assim "1/22/013"... segue o exemplo do meu código para inserir:

 

 

 


SqlConnection con = new lConnection();con.connectionString = Properties.settins.Default.CS1;try { con.Open(); SqlCommand cmm = new SqlCommand(); cmm.CommandText = "INSERT INTO tbProduto(descricao,quantidade, precoUnit, idGrupo,dataCadastro ) values (@descricao, @quantidade, @precoUnit , @idGrupo, @dataCadastro)"; cmd.Parameters.Clear(); cmd.Parameters.Add("@descricao", SqlDbType.VarChar, 80).Value = txtCodigo.Text;cmd.Parameters.Add("@quantidade", SqlDbType.int).Value = txtQuantidade.Text; cmd.Parameters.Add("@precoUnit", SqlDbType.float).Value = txtPreco.Text; cmd.Parameters.Add("@idGrupo", SqlDbType.VarChar, 50).Value = cmbGrupo.Text;cmm.parameters.Add("@dataCadastro", SqlDbType,Date).value = mskDataCadastro.Text;cmm.CommandType = CommandType.Text;  cmm.Conection = con; cmd.ExecuteNonQuery();con.Close();} cath(){}

 

desde já agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de usar parâmetros, use funções.

 

A data de cadastro seria a data atual, certo? Então você não precisa de alguem para digitar a data, basta você usar o GETDATE() para retornar a data do sistema, mais ou menos assim:

 

 


cmm.CommandText = "INSERT INTO tbProduto(descricao,quantidade, precoUnit, idGrupo,dataCadastro ) values (@descricao, @quantidade, @precoUnit , @idGrupo, CONVERT(DATE,GETDATE()))";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu sou novo em C#, não consegui implantar essa função que vc me mandou...na verdade o que eu acredito está precisando para entender, é inserir essa linha com paramenters melhor formatada, para que na hora de fazer um select a data possa retornar sem cortes

para maskedtexbox!

 

acho que falta alguma coisa nessa linha, ex:

 

cmm.parameters.Add("@dataCadastro", SqlDbType.Date).value = mskDataCadastro.Text;

 

se vc tiver alguma outra idéia, te agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, a função GETDATE() é nativa do SQL, ela vai retornar a data completa para você e vai colocar dentro do campo no formato DateTime no banco de dados...

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.