jxfdasilva Postado Fevereiro 7, 2007 Denunciar Share Postado Fevereiro 7, 2007 Boa Noite Companheiros,Estou querendo usar o valor do DateTimePicker para consulta a MySQL, do género :SELECT * FROM xxxxxxxxx WHERE Data Between "(* DateTimePicker*)" and "(* DateTimePicker*)"Como posso fazer isso, tendo em conta que depois preciso exibir o resultado no TListView? Da para adiantar um exemplo do código?Outra questão é, como formatar a data do DateTimePicker de forma a ser aceite no MySQL? JoséDe ÁfricaMozambique Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 8, 2007 Denunciar Share Postado Fevereiro 8, 2007 (editado) Boa Noite Companheiros,Boa noite José, já que ai deve ser aproximadamente 21:00hs (aqui são apenas 15:00hs) :D Estou querendo usar o valor do DateTimePicker para consulta a MySQL, do género :SELECT * FROM xxxxxxxxx WHERE Data Between "(* DateTimePicker*)" and "(* DateTimePicker*)"Como posso fazer isso, tendo em conta que depois preciso exibir o resultado no TListView? Da para adiantar um exemplo do código?Por que mostrar num ListView? Não poderia utilizar em um DBGrid? Voce não teria quase nenhum trabalho braçal...Outra questão é, como formatar a data do DateTimePicker de forma a ser aceite no MySQL?Se você concatenar a data a sua SQL então você pode utilizar:Query1.SQL.Clear; Query1.SQL.Add('select ... where Data between ' +QuotedStr(FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date)) +' and ' +QuotedStr(FormatDateTime('yyyy-mm-dd', DateTimePicker2.Date))); Query1.Open; se for parametrizado, então:Query1.SQL.Clear; Query1.SQL.Add('select ... where Data between :DtInicio and :DtFim'); Query1.ParamByName('DtInicio').AsDate := DateTimePicker1.Date; Query1.ParamByName('DtFim').AsDate := DateTimePicker2.Date; Query1.Open;Recomendo este formato. Editado Fevereiro 8, 2007 por Micheus Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jxfdasilva Postado Fevereiro 8, 2007 Autor Denunciar Share Postado Fevereiro 8, 2007 Olá Micheus,Bom te ler.Já agora gostaria de entender o algoritmo de funcionamento do Delphi. Aquilo que entendi, para consultar o Gestor de Base de Dados, necessito do (e isso usando o DBExpress – mais fácil), dizia, necessito do “MySQLConnection”, TSQLQuery, e do TDataSource. Ora, entendi também, que eu posso passar as sentenças ao MySQL através do TSring do TSQLQuery e depois visualizar os retornos em TListView, por exemplo. Agora aqui, fico manietado. Já vi que o TString do TSQLQuery, só aceita uma sentença. E quando se trata de sentenças em que é necessário, no meu caso, colectar um string de um “DateTimePicker”, por ex.: e passar para a sentença SQL, nepias, não funciona! Neste caso não funciona o TSring do TSQLQuery. E se deixo o TSring do TSQLQuery vazio, ele da erro. Se preencho da erro de sintax no MySQL…. Já vi que, e aproveitando os teus ensinamentos, a solução passa por parametrizar. Mas como faço isso? Qual algoritmo? Como funciona no Delphi?De facto já é tarde por estas bandas. São neste momento 9:40 PM.Aquele abraço companheiro…Ah, já agora, para concluir. porque TListView? Bem, porque já está tudo a funcionar no TListView e só esta faltando - para já - esta consulta por Data.Ah, já me ia esquecendo, já tou registado! Viva EU!!!!;-) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jxfdasilva Postado Fevereiro 8, 2007 Autor Denunciar Share Postado Fevereiro 8, 2007 Agora tou abanando!!! Damm!! Esta funcionando mas não estou entendendo porque? Será porque não concatenei a data antes? Mas eu experimentei com outro tipo de sentença - sem data - e deu erro? Obrigava-me sempre a declarar a sintax de consullta no TSring do TSQLQuery.... e depois dava erro de sintax :blink: Já agora: qual a diferença entre: SQLQuery , SQLQuery.SQL?Ok, já sei, tou perguntando demais... mas não gosto de fazer as coisa sem conhece-las!Abraço AmigoÁfrica Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 10, 2007 Denunciar Share Postado Fevereiro 10, 2007 Já vi que, e aproveitando os teus ensinamentos, a solução passa por parametrizar. Mas como faço isso? Qual algoritmo? Como funciona no Delphi?Não entendi a dúvida. O exemplo que coloquei no post anterior já mostra como utilizar a parametrização? :huh: Ah, já agora, para concluir. porque TListView? Bem, porque já está tudo a funcionar no TListView e só esta faltando - para já - esta consulta por Data.você pretende mostrar um header com o nome dos campos e nas linhas o resultado de sua consulta, é isto?Agora tou abanando!!! Damm!! Esta funcionando mas não estou entendendo porque? Será porque não concatenei a data antes? Mas eu experimentei com outro tipo de sentença - sem data - e deu erro? Obrigava-me sempre a declarar a sintax de consullta no TSring do TSQLQuery.... e depois dava erro de sintaxAcho que se você colocar um exemplo da sintax utilizada, a qual acusava erro, fica mais fácil de tentar entender.Já agora: qual a diferença entre: SQLQuery, SQLQuery.SQL?Não entendi muito bem a pergunta, porque TSQLQuery é uma classe e SQLQuery.SQL é uma referência a propriedade SQL desta classe (que também refere-se a uma classe - TStrings).Ok, já sei, tou perguntando demais... mas não gosto de fazer as coisa sem conhece-las!Não está não. Também acho que você tem que entender o que está fazendo, senão, como ficará em uma próxima vez?Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jxfdasilva Postado Fevereiro 13, 2007 Autor Denunciar Share Postado Fevereiro 13, 2007 Olá companheiros,Boa noite a todos. Lamentavelmente estive sem acesso a Internet ate agora. E como nem tudo é negativo na vida, deu para ler mais um bocado e esclarecer as dúvidas. Em todo o caso, um especial obrigado ao Fórum e, obviamente, ao Micheus, pela colaboração abnegada e, obviamente, paciência que.b.Abraço, de ÁfricaJosé Da SilvaMaputo – Mozambique Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Fevereiro 13, 2007 Denunciar Share Postado Fevereiro 13, 2007 Olá jxfdasilvaVocê é mesmo africano?Boas vindas, é um prazer ter você aqui no fórum :DE seu problema foi resolvido?Espero que sim ;)abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jxfdasilva Postado Fevereiro 14, 2007 Autor Denunciar Share Postado Fevereiro 14, 2007 Ola Churc,Um bom dia para você também. De facto sou Africano - Mozambique, Maputo. O problema foi resolvido com a preciosa ajuda do Micheus a quem aproveito para endereçar os meus cumprimentos. Ao Fórum, um bom dia, aqui de África, sempre quente.Aquele abraçoJosé Da SilvaP.S. vocês tem problemas com o C cedilhado? É que se escrevo Mozambique (com 'z'porque C cedilhado não joba) - aparece maiorçambique!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jxfdasilva
Boa Noite Companheiros,
Estou querendo usar o valor do DateTimePicker para consulta a MySQL, do género :
SELECT * FROM xxxxxxxxx WHERE Data Between "(* DateTimePicker*)" and "(* DateTimePicker*)"
Como posso fazer isso, tendo em conta que depois preciso exibir o resultado no TListView? Da para adiantar um exemplo do código?
Outra questão é, como formatar a data do DateTimePicker de forma a ser aceite no MySQL?
José
De África
Mozambique
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.