Drika 0 Denunciar post Postado Novembro 15, 2006 Olá, estou inciando em Delphi .net e não estou conseguindo fazer uma sql com parametros de data.Quando passo para d1 := Convert.ToDateTime(textbox2.text) e na SQL coloco ..."And a.data >= ' + #39 + d1.tostring + #39 "... dá erro pois vem com o formato d/m/yyyy hh:mm:ss.O que faço ??Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
thiagobillieri 0 Denunciar post Postado Novembro 16, 2006 Faça uma função pra converter a data. Vou colocar uma em VB.NET aqui. Só não sei se vai ser possivel fazer assim, pois não sei se o Delphi tem mesmos metodos. Qualquer coisa faz um trim até o " / " e pega o dia, depois até a outra " / " e o mês e assim vai. Public Function priInverteData(ByVal ksDate As String) As String ' Carrega as variaveis com os valores da data... Dim dia As String = Day(Convert.ToDateTime(ksDate)).ToString Dim mes As String = Month(Convert.ToDateTime(ksDate)).ToString Dim ano As String = Year(Convert.ToDateTime(ksDate)).ToString Dim hh As String = Hour(Convert.ToDateTime(ksDate)).ToString Dim mm As String = Minute(Convert.ToDateTime(ksDate)).ToString Dim ss As String = Second(Convert.ToDateTime(ksDate)).ToString ' Acrescenta zero para dias menores que dez... If Len(dia) = 1 Then dia = "0" & dia End If ' Acrescenta zero para meses menores que dez... If Len(mes) = 1 Then mes = "0" & mes End If ' Acrescenta zero para horas menores que dez... If Len(hh) = 1 Then hh = "0" & hh End If ' Acrescenta zero para minutos menores que dez... If Len(mm) = 1 Then mm = "0" & mm End If ' Acrescenta zero para segundos menores que dez... If Len(ss) = 1 Then ss = "0" & ss End If ksDate = String.Concat(mes, "/", dia, "/", ano, " ", hh, ":", mm, ":", ss) priInverteData = ksDate End Function No SQL você coloca um BETWEEN, é bem simples. Select * From Clientes cWhere c.data Between '+ DataInicial +' And '+ DataFinal +' []'s Compartilhar este post Link para o post Compartilhar em outros sites