Delphi MySQL, Dúvidas

26/05/2004

0

Olá pessoal, gostarias de tirar algumas dúvidas, pois estou iniciando no uso de mysql com delphi (dbexpress), a primeira é a seguinte:

1-o delphi e o mysql possuem formatos de datas diferentes (delphi = 1/1/2004, mysql = 20040101), já que uso o dbx e tenho que inserir os dados via código sql, tive que criar umas funções para trasformar estas datas, utilizando a data como string e usando o comando copy para inverter a seguencia dos caracteres, gostaria de saber se existe uma maneira mais fácil de integrar estes dois formatos, o idel para mim seria converter o formato do mysql para 1/1/2004, é possivel?, caso não seja o delphi tem uma função que faça isso de forma mais simples

2-Ainda na parte de datas, quando eu tento um campo na tabela do tipo data, mas vazio (0000-00-00), eu não consigo vizualizá-lo no delphi, por exemplo quando tento executar o comando: FPacienteAdd.EditNasc.Text:=FPrincipal.DesTransformaData(Datetostr(ClientDataSet1DataNasc.value));, onde DesTransformaData é a função a qual me referi acima, ocorre o seguinte erro: EConverterError: ´0.0´ is not valid timestamp, ou seja, eu nunca consigo inserir no TEdit uma data vazia do banco de dados, gostaria de receber ajuda quanto a isso também.

3-Posso colocar em rede o meu banco de dados mysql apenas mapeando uma unidade de rede no servidor e no Winmysqladmim do cliente colocar no caminho do banco em ´my.ini setup > base dir´ a unidade mapeada?

Valeu galera, aguardo respostas de vocês, obrigado.


Carlossalheb

Carlossalheb

Responder

Posts

15/06/2004

Fer_nanda

1-o delphi e o mysql possuem formatos de datas diferentes (delphi = 1/1/2004, mysql = 20040101), já que uso o dbx e tenho que inserir os dados via código sql, tive que criar umas funções para trasformar estas datas, utilizando a data como string e usando o comando copy para inverter a seguencia dos caracteres, gostaria de saber se existe uma maneira mais fácil de integrar estes dois formatos, o idel para mim seria converter o formato do mysql para 1/1/2004, é possivel?, caso não seja o delphi tem uma função que faça isso de forma mais simples


Eu converto o campo para date, aí o dataset trata a data independente da formatação usada pelo banco. Por exemplo
ClientDataSet1.Params.ParamByName(´data´).AsDateTime := strtodate(Edit1.Text);

2-Ainda na parte de datas, quando eu tento um campo na tabela do tipo data, mas vazio (0000-00-00), eu não consigo vizualizá-lo no delphi, por exemplo quando tento executar o comando: FPacienteAdd.EditNasc.Text:=FPrincipal.DesTransformaData(Datetostr(ClientDataSet1DataNasc.value));, onde DesTransformaData é a função a qual me referi acima, ocorre o seguinte erro: EConverterError: ´0.0´ is not valid timestamp, ou seja, eu nunca consigo inserir no TEdit uma data vazia do banco de dados, gostaria de receber ajuda quanto a isso também.


Acho q vc pode tratar isso com um if na sua função, mas acredito q usando essa conversão q sugeri isso não ocorreria mais.

3-Posso colocar em rede o meu banco de dados mysql apenas mapeando uma unidade de rede no servidor e no Winmysqladmim do cliente colocar no caminho do banco em ´my.ini setup > base dir´ a unidade mapeada? Valeu galera, aguardo respostas de vocês, obrigado.


Se vc utiliza dbexpress provavelmente precisará colocar junto a midas.dll e a libmysql.dll (acho q é esse o nome não me recordo), mas é só no seu conection apontar pro seu servidor. Tranquilo =)

Espero ter ajudado.


Responder

15/06/2004

Carlossalheb

valeu amigo, suas dicas serão bastantes uteis.


Responder

15/06/2004

Otto

valeu amigo



:roll: :lol:


T+....


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar