[Resolvido] Problema ao converter para Datetime
Boa Tarde Galera,
Estou com um problema ao converter um campo varchar criado no SQL Server ao consultar via Query dentro do c#.
Se eu pego a query:
SELECT IndProd1 as OP, Lx_Item as Item, Lx_Operacao as Operacao, DataLimite, Lx_LinhaReceita as Cliente, OpProgramada As OpProgramada FROM Production
WHERE Lx_Operacao = '00025'
AND Lx_CodEtapa = 'P'
AND Lx_LinhaReceita = 'CATERPILLAR'
AND CONVERT(DATETIME,DataLimite) = '01/12/2017'
AND CONVERT(DATETIME,DataLimite) = '30/01/2018'
//+ "AND DataLimite = '30/01/2018' "
AND (DataLimite <> '---')
AND DataLimite IS NOT NULL
AND Inativo<>'E'
AND PlanQty>(QtyPeca+QtySucata)
ORDER BY startptrcol DESC,PlanDateEnd, Lx_Pedido, IndProd1, Indprod3
e jogo dentro do Banco SQL Server, ele me trás os resultados, nesse exemplo ai, esta me trazendo 5 linhas de resultados. Porém, quando faço via query dentro do c# para preencher um DataGrid, ele está dando esse erro:** Additional information: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.**
**OBS: Se em vez de colocar a sequencia de datas eu colocar somente o 'AND DataLimite = '30/01/2018' ele me trás o resultado, porém, somente do dia do filtro e precisava que fosse entre esse intervalo.**
**O que posso estar errando galera? a query dentro do c# ta assim:**
string strSql = "SELECT IndProd1 as OP, Lx_Item as Item, Lx_Operacao as Operacao, DataLimite, Lx_LinhaReceita as Cliente, OpProgramada As OpProgramada FROM Production "
+ "WHERE Lx_Operacao = '00025' "
+ "AND Lx_CodEtapa = 'P' "
+ "AND Lx_LinhaReceita = 'CATERPILLAR' "
+ "AND CONVERT(DATETIME,DataLimite) = '29/01/2018' "
+ "AND CONVERT(DATETIME,DataLimite) = '30/01/2018' "
//+ "AND DataLimite = '30/01/2018' "
+ "AND (DataLimite <> '---') "
+ "AND DataLimite IS NOT NULL "
+ "AND Inativo<>'E' "
+ "AND PlanQty>(QtyPeca+QtySucata) "
+ "ORDER BY startptrcol DESC,PlanDateEnd, Lx_Pedido, IndProd1, Indprod3;";
//cria o objeto command para executar a instruçao sql
OleDbCommand cmd = new OleDbCommand(strSql, conn_mes);
//define o tipo do comando
cmd.CommandType = CommandType.Text;
//cria um dataadapter
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
//cria um objeto datatable
DataTable ops = new DataTable();
//preenche o datatable via dataadapter
da.Fill(ops);
//atribui o datatable ao datagridview para exibir o resultado
dvgOpProgramada.DataSource = ops;Discussão (3)
Carregando comentários...