[Resolvido] Conversão de Data no Insert
Olá, bom dia pessoal.
Estou tendo dificuldades ao inserir informações via c# para o banco MySQL.
Como todos sabem, quando se cria uma tbl com campo DateTime no MySQL, ele vem em padrão americano 2017-10-04 'exemplo'
Meu problema é o seguinte.
Eu faço um select em um banco SQL Server e puxo essas informações para um DataGrid com os campos que necessito.
Após isso, o sistema vai levar esse datagrid e gravar as informações contidas nele para o banco MySQL fazendo o insert nesse trecho do código:
for (int i = 0; i < dvgOrdens.Rows.Count - 1; i++)
{
string ordem = dvgOrdens.Rows[i].Cells[1].Value.ToString(); //ordem
string pedido = dvgOrdens.Rows[i].Cells[2].Value.ToString(); //pedido
string operacao = dvgOrdens.Rows[i].Cells[3].Value.ToString(); //operacao
string item = dvgOrdens.Rows[i].Cells[4].Value.ToString(); //item
string data_limite = dvgOrdens.Rows[i].Cells[5].Value.ToString(); //Data Limite
DateTime data = Convert.ToDateTime(data_limite);
lblItem.Text = item;
this.Refresh();
//Inseri os valores na tabala do Andon
string sql_insert = "INSERT INTO pixie_andon_nc (ordem, cod_item, operacao, pedido, inicio_prev, fim_prev) VALUES ('" + ordem + "', '" + item + "', '" + operacao + "', '" + pedido + "', '" + "STR_TO_DATE" + "("+ data +")" + "', '" + data + "')";
MySqlCommand cmd = new MySqlCommand(sql_insert, mConn);
cmd.ExecuteNonQuery();
}
Ele está inserindo Ok as informações, porém, a Data Limite da Cells[5] ele está gravando como: 00/00/0000 00:00:00 e no meu datagrid quando puxo do SQL SErver a informação, ela está vindo como: 04/10/2017 (exemplo).
A dúvida é: o campo do MYSQL é DateTime ou seja, Data e Hora. porém, eu só preciso da Data que vem do datagrid '04/10/2017' porque a hora vai ser editável pelo usuário depois, ou seja a hora ele pode manter 00:00:00, ficando assim: 04/10/2017 00:00:00, o que eu posso fazer para resolver esse problema?Discussão (3)
Carregando comentários...