Usuário com melhor resposta
Tratamento de data

Pergunta
-
Bom Dia!
Pessoal,
Eu estou tentando gravar uma data no mysql atraves do aplicativo que estou desenvolvendo em vb.net, porém, está dando problema na hora de gravar devido ao mysql ter o padrão de data (yyyy/mm/dd)
Eu estou digitando (dd/mm/yyyy) mas preciso converter na hora de gravar no banco para (yyyy/mm/dd)
Como faço isto?
desde já obrigado!
Respostas
-
Tente com "yyyy-MM-dd"
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Rodrigo Rx3Info segunda-feira, 14 de setembro de 2015 16:31
Todas as Respostas
-
-
Boa Tarde!
SEGUE ABAIXO O CÓDIGO E MAIS ABAIXO O ERRO:
Dim ComandoEstoque As New MySqlCommand
ComandoEstoque.CommandText = "Insert Into itens_estoque (coditem,den_item,unid_med,qtde_item,dt_entrada,hr_entrada,cliente,fornecedor,observacao)
Values('" & TxtCodItem.Text & "','" & TxtDenItem.Text & "','" & CboUnidMedida.Text & "','" & TxtQuantidade.Text & "','" & MskDataEntrada.Text & "','" & MskHoraEntrada.Text & "','" & CboCliente.Text & "','" & CboFornecedor.Text & "','" & TxtObservacao.Text & "')"
ComandoEstoque.CommandType = CommandType.Text
ComandoEstoque.Connection = ConnEstoque
Dim GravaEstoque As Integer
GravaEstoque = ComandoEstoque.ExecuteNonQueryMENSAGEM DE ERRO ABAIXO:
An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll
Additional information: Incorrect date value: '11/09/2015' for column 'dt_entrada' at row 1 -
Boa tarde
A inclusão está sendo feita via procedure?
Se sim, vc pode fazer um convert dentro da sua procedure na hora de incluir na tabela a data.
Cria uma variavel do tipo date e nela vc atribui o valor convertido que vc vai receber igual no exemplo abaixo.
PS: 112 = conversão do tipo aaaa/mm/dd
DECLARE DATA AS DATE DATA = CONVERT(VARCHAR(8), @DATA, 112)
-
porque voce nao parametriza,ao inves de ficar concatenando os valores?
http://stackoverflow.com/questions/15865249/vb-net-generating-mysql-query-using-variables
como está a estrutura da tabela?
Microsoft Technology Associate (MTA)
-
Para o mysql você pode usar o formato 'yyyy-mm-dd' e usar o Convert para converter o texto em data. ex:
Convert.ToDateTime(MskDataEntrada.Text).ToString("yyyy-mm-dd")
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro -
Bom Dia!
A dica do Eduardo deu certo, porém, está gravando o mês da data como 00, ex. 14-00-2015, mesmo digitando 14-09-2015 ele grava na tabela 2015-00-14, segue o código.
Estou convertendo a data e jogando dentro da variável DataEntrada e colocando este variável no insert conforme abaixo, e respondendo a pergunta acima, não estou utilizando procedure.
Dim DataEntrada = Convert.ToDateTime(MskDataEntrada.Text).ToString("yyyy-mm-dd")
Dim ComandoEstoque As New MySqlCommand
ComandoEstoque.CommandText = "Insert Into itens_estoque (coditem,den_item,unid_med,qtde_item,dt_entrada,hr_entrada,cliente,fornecedor,observacao)
Values('" & TxtCodItem.Text & "','" & TxtDenItem.Text & "','" & CboUnidMedida.Text & "','" & TxtQuantidade.Text & "','" & DataEntrada & "','" & MskHoraEntrada.Text & "','" & CboCliente.Text & "','" & CboFornecedor.Text & "','" & TxtObservacao.Text & "')" -
Tente com "yyyy-MM-dd"
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Rodrigo Rx3Info segunda-feira, 14 de setembro de 2015 16:31
-