Usuário com melhor resposta
Minha data esta sendo salva 0000-00-00 no banco de dados como corrigir para o valor passado 1995/04/05

Pergunta
-
objCliente.Data_De_Nascimento = DateTime.Parse(txtData.Text);
public DateTime Data_De_Nascimento { get; set; }
string sql = "insert into pessoa (nome,cpf,data_de_nascimento,rg)" +
"values ('{0}','{1}','{2}','{3}')";
sql = String.Format(sql, Nome, Cpf, Data_De_Nascimento, Rg);objDAL.ExecutarComandoSQl(sql);
Respostas
-
ConectarBanco.Open(); MySqlCommand cmd = new MySqlCommand ("insert into contrato(dtaadesao, dtavencimento"+ "values"( @dtaadesao, @dtavencimento)", ConectarBanco); cmd.Parameters.AddWithValue("@dtaadesao", DateTime.Parse(txtdataadesao.Text).ToString("yyyy-MM-dd")); cmd.Parameters.AddWithValue("@dtavencimento", DateTime.Parse(txtdtavencimento.Text).ToString("yyyy-MM-dd"));
Assim que eu faço, ele pega o valor DIA/MES/ANO do trextbox e salva no Banco ANO-MES-DIA- Marcado como Resposta Filipe B CastroModerator sexta-feira, 18 de janeiro de 2019 18:50
-
O colega A.Junior esta correto, mas caso você passe uma data não valida o sistema vai apresentar um erro de execução, causando falha em seu sistema, é muito importante quando estamos programando tentar prever a todos os passo e possíveis dados que nossa aplicação vai receber, vou deixar aqui uma função onde você pode passar como parâmetro uma data como string, o formato de retorno e se deseja um retorno como nulo caso a data não possa ser convertida.
/// /// www.codigoexpresso.com.br /// by Antonio Azevedo /// /// <summary> /// Conterte uma data string para outra também em formato string, /// viabilizando a conversão e retornano uma string vazia ou nullo caso não consiga converter a data. /// </summary> /// <param name="data">data como string</param> /// <param name="formato">formato de retorno 'yyyy-MM-dd'</param> /// <param name="retornaNulo">true/false se false e a data não pode ser convertida retorna string vazia</param> /// <returns>string com data no formato informado</returns> public string DateToSql(string data, string formato, Boolean retornaNulo = false) { DateTime retorno; return (!DateTime.TryParse(data, out retorno)) ? (retornaNulo) ? null : "" : retorno.ToString(formato); }
Exemplo
cmd.Parameters.AddWithValue("@dtaadesao", DateToSql(txtdataadesao.Text,"yyyy-MM-dd",false));
Se a resposta contribuiu com seu aprendizado por favor marque como Útil
Se solucionou seu problema por favor marque como Resposta
Atenção, se seu problema foi resolvido não deixe o post aberto
Visite : www.codigoexpresso.com.br
- Editado Código Expresso quarta-feira, 2 de janeiro de 2019 21:03 Correção
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 18 de janeiro de 2019 18:50
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 18 de janeiro de 2019 18:50
Todas as Respostas
-
-
ConectarBanco.Open(); MySqlCommand cmd = new MySqlCommand ("insert into contrato(dtaadesao, dtavencimento"+ "values"( @dtaadesao, @dtavencimento)", ConectarBanco); cmd.Parameters.AddWithValue("@dtaadesao", DateTime.Parse(txtdataadesao.Text).ToString("yyyy-MM-dd")); cmd.Parameters.AddWithValue("@dtavencimento", DateTime.Parse(txtdtavencimento.Text).ToString("yyyy-MM-dd"));
Assim que eu faço, ele pega o valor DIA/MES/ANO do trextbox e salva no Banco ANO-MES-DIA- Marcado como Resposta Filipe B CastroModerator sexta-feira, 18 de janeiro de 2019 18:50
-
O colega A.Junior esta correto, mas caso você passe uma data não valida o sistema vai apresentar um erro de execução, causando falha em seu sistema, é muito importante quando estamos programando tentar prever a todos os passo e possíveis dados que nossa aplicação vai receber, vou deixar aqui uma função onde você pode passar como parâmetro uma data como string, o formato de retorno e se deseja um retorno como nulo caso a data não possa ser convertida.
/// /// www.codigoexpresso.com.br /// by Antonio Azevedo /// /// <summary> /// Conterte uma data string para outra também em formato string, /// viabilizando a conversão e retornano uma string vazia ou nullo caso não consiga converter a data. /// </summary> /// <param name="data">data como string</param> /// <param name="formato">formato de retorno 'yyyy-MM-dd'</param> /// <param name="retornaNulo">true/false se false e a data não pode ser convertida retorna string vazia</param> /// <returns>string com data no formato informado</returns> public string DateToSql(string data, string formato, Boolean retornaNulo = false) { DateTime retorno; return (!DateTime.TryParse(data, out retorno)) ? (retornaNulo) ? null : "" : retorno.ToString(formato); }
Exemplo
cmd.Parameters.AddWithValue("@dtaadesao", DateToSql(txtdataadesao.Text,"yyyy-MM-dd",false));
Se a resposta contribuiu com seu aprendizado por favor marque como Útil
Se solucionou seu problema por favor marque como Resposta
Atenção, se seu problema foi resolvido não deixe o post aberto
Visite : www.codigoexpresso.com.br
- Editado Código Expresso quarta-feira, 2 de janeiro de 2019 21:03 Correção
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 18 de janeiro de 2019 18:50
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 18 de janeiro de 2019 18:50