Fórum Invertendo datas...??? #275328
04/04/2005
0
de: dd/mm/aaaa 00:00:00
para: aaaa-mm-dd 00:00:00
para poder fazer uma consulta numa tabela do MySQL ...
tipo, o Delphi tem alguma função de substring que eu possa usar??
Desde já muito obrigado!
Raimundo Farias
Raimundo_farias
Curtir tópico
+ 0Posts
04/04/2005
Maicongabriel
Exemplo:
var data : TDateTime; sDt : String; begin data := Now; sDt := FormatDateTime(´yyyy-mm-dd hh:nn:ss´, data); end;
Gostei + 0
04/04/2005
Raimundo_farias
Gostei + 0
04/04/2005
Raimundo_farias
tenho dois campos de mascara para receber um intervalo de datas tipo:
DataInicial.Text e DataFinal.Text
e quero fazer uma busca com esse intervalo.. tambem não sei se a SQL está correta mais eu to fazendo assim e ñ retorna nada...
with dmobjSimpi.BuscaUser do begin if Active then Close; SQL.Clear; SQL.Add(´SELECT usuarios.nome, usuarios.id, acessos.id_user, acessos.data, acessos.origem´); SQL.Add(´ FROM usuarios, acessos WHERE acessos.data BETWEEN (:dataIni) AND (:dataFim) AND usuarios.id = acessos.id_user´); SQL.Add(´ ORDER BY acessos.data DESC´); Parameters[0].Name := ´dataIni´; Parameters[0].Value := StrToDateTime(DataInicial.Text); Parameters[0].DataType := ftDateTime; Parameters[1].Name := ´dataFim´; Parameters[1].Value := StrToDateTime(DataFinal.Text); Parameters[1].DataType := ftDateTime; Open; First;
tirando a SQL que eu não sei se é o problema. Eu acho q deve ser a converção de tipos pois na minha tabela o campo é DateTime e o Edit da mascara só fornece a data e eu concateno assim:
DataIni := DataInicial.Text + ´ 00:00:00´ DataFim := DataFinal.Text + ´ 23:59:59´
Espero que alguem possa me ajudar e que tenha sido claro em minha dúvida!
Obrigado!
Gostei + 0
04/04/2005
Aroldo Zanela
Quando for manipular DATAS dê preferência ao DateTimerPicker da aba Win32 ao invés de Edits ou MaskEdits.
Se estiver usando parâmetros, não é necessário fazer formatação. Exemplo:
Qry.Close; Qry.ParamaByNames(´DataInicial´).AsDateTime := DateTimePicker1.DateTime; Qry.Open;
No próprio componente há uma propriedade (time) para ´Setar´ a hora. Portanto, no objeto para data iniciail, atribua o valor ´00:00:00´ é para o objeto para a data final, atribua ´23:59:39´.
Gostei + 0
04/04/2005
Raimundo_farias
a clausula BETWEEN busca em um intervalo aberto né??? tipo:
... WHERE acessos.data BETWEEN (:inicial) AND (:final)
desse jeito se eu informar 04/04/2005 e 04/04/2005 ou 03/04/2005 e 04/04/2005 ... quer dizer so os acessos de hoje ele não retorna nada... se eu informar 04/04/2005 e 05/04/2005 funciona.
tem como eu mudar isso???
Gostei + 0
04/04/2005
Aroldo Zanela
Você alterou os valores da propriedade Time conforme citei anteriormente? Pode colocar um fragmento do código que você está utilizando agora?
Gostei + 0
04/04/2005
Raimundo_farias
with dmobjSimpi.BuscaUser do begin if Active then Close; SQL.Clear; SQL.Add(´SELECT usuarios.nome, usuarios.id, acessos.id_user, acessos.data, acessos.saida, acessos.origem´); SQL.Add(´ FROM usuarios, acessos WHERE acessos.id_user = usuarios.id AND acessos.data BETWEEN :dataIni AND :dataFim´); SQL.Add(´ ORDER BY acessos.data DESC´); Parameters[0].Name := ´dataIni´; Parameters[0].Value := inicial.DateTime; Parameters[0].DataType := ftDateTime; Parameters[1].Name := ´dataFim´; Parameters[1].Value := final.DateTime; Parameters[1].DataType := ftDateTime; Open; First; if not Eof then begin while not Eof do begin ListaHistorico.Cells[0,row] := Fields.Fields[0].Value; ListaHistorico.Cells[1,row] := Fields.Fields[3].Value; ListaHistorico.Cells[2,row] := Fields.Fields[4].Value; ListaHistorico.Cells[3,row] := Fields.Fields[5].Value; ListaHistorico.RowCount := ListaHistorico.RowCount + 1; Inc(row); Next; end; ListaHistorico.RowCount := ListaHistorico.RowCount - 1; end; end;
Acho que o problema ta na SQL.... se eu passar tanto a inicial como a final igual a 04/04/2005 não retorna nada...
Gostei + 0
04/04/2005
Raimundo_farias
fica identico... mas dá o mesmo problema...
Gostei + 0
05/04/2005
Aroldo Zanela
Pressione Alt - F12 e copie o conteúdo dos objetos DateTimePicker apenas e coloque aqui para uma análise das propriedades.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)