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.
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
Curtir tópico
+ 0
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
Clique aqui para fazer login e interagir na Comunidade :)