tambem tive este problema com DbExpress. Consegui resolver com Cast:
select camponumeric9,2 from tabela, ele reconhece como TFMTBCDField select cast(camponumeric9,2 as float ) from tabela, ele reconhece como TFloatField, -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Plinio Cesar Pavin Enviada em: sábado, 30 de dezembro de 2006 11:04 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] MySQL Com DBExpress Sim, a CoreLab também tem esse driver. Mas pelas informações que tive, o problema que enfrentei é com relação ao próprio DBExpress, pois tive informações de problemas semelhantes, com outros bancos de dados (Firebird, Oracle, SQL Server) usando DBExpress. O principal problema é com relação ao mapeamento dos campos numéricos (Decimal), que dependendo da precisão, são mapeados como TBCDField ou TFMTBCDField, gerando problemas em todos os lugares da aplicação onde eram feitos cálculos. No meu caso específico, aconteceu o seguinte: Usando o driver antigo da MicroOlap com mySQL 4: Funcionava tudo normalmente, e os campos DECIMAL eram mapeados para TFloatField. A aplicação foi toda desenvolvida com esse componente. Após migrar o BD para MySQL 5: Simplesmente o driver DBExpress da MicroOlap não "enxergava" mais os campos DECIMAL. Atualizamos então o driver da MicroOlap para a versão mais recente: Todos os campos DECIMAL passar a ser mapeados como TBCDField ou TFMTBCDField. Substituindo o DBExpress por MYDAC, os campos voltaram a ser mapeados como TFloatField, e aplicação funcionou normalmente... Assim, resolvemos abandonar de vez o DBExpress. Plinio Cesar Pavin ----- Original Message ----- From: Alexandre To: delphi-br@yahoogrupos.com.br Sent: Saturday, December 30, 2006 12:05 PM Subject: RES: [delphi-br] MySQL Com DBExpress Estimados, Bom dia. Só uma dúvida: A CrLab também tem um driver dbexpress pra MySQL, não tem? Não sei porque o driver da MicroOlap não funciona a contento, mas já verificaste o driver dbexpress da CrLab ? Saudações. --- []'s Alexandre Frase da semana: "No mundo dos negócios todos são pagos com duas moedas: Dinheiro e Experiência. Agarre a experiência primeiro, o dinheiro virá depois." (Harold Geneen) -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Plinio Cesar Pavin Enviada em: sexta-feira, 29 de dezembro de 2006 14:36 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] MySQL Com DBExpress Luiz, acabamos comprando os dois: o driver dbexpress da MicroOlap e o MyDAC ! Jogamos dinheiro fora com o driver da MicroOlap: Simplesmente todos os campos decimal(x,y) do mySQL, que antes eram mapeados como TFloatField, passaram a ser mapeados como TBCDField ou TFMTBCDField, gerando inúmeros erros de type mismatch. Nota 10 para o myDAC ! Está dando trabalho pra substituir os componentes DBExpress (SQLDataSet + DatasetProvider + ClientDataset) por apenas um componente TMyQuery, mas depois disso, funciona que é uma maravilha. A propósito: vc utiliza o myDAC num DataModule ? A aplicação em que estou trabalhando possui os componentes de conexão em cada form, pois cada form (principalmente consultas e relatórios) possui uma query diferente. É correto ? Plinio Cesar Pavin ----- Original Message ----- From: Luiz Escobar To: delphi-br@yahoogrupos.com.br Sent: Wednesday, December 27, 2006 2:20 PM Subject: Re: [delphi-br] MySQL Com DBExpress Bom EU uso MySQL 5.xx com o MyDAC da www.clab.com.br e não mudo por nada nesse mundo, pelo menos até sair algo melhor que ele, que na minha opnião é o melhor... hehehehe Luiz Escobar Analista/Desenvolvedor: WEB - HTML/JavaScript/PHP/MySQL WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase DOS - Clipper/Assembler xBase SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k LINUX - LAZARUS/Kylix/MySQL; http://www.megasistema.com.br ----- Original Message ----- From: Plinio Cesar Pavin To: delphi-br@yahoogrupos.com.br Sent: Wednesday, December 27, 2006 12:27 PM Subject: [delphi-br] MySQL Com DBExpress Olá Pessoal, estou dando manutenção numa aplicação desenvolvida com Delphi 7 + mySQL (4.00) usando DBExpress (Driver da MicroOlap), porém o cliente precisa atualizar o BD para a versão 5.0. Ao fazer isso, o driver da MicroOlap começa apresentar uma série de erros nos campos numéricos. Em resumo, estou aceitando sugestões: Fazer o cliente comprar o driver atualizado da MicroOlap ? Fazer o cliente comprar o driver CoreLab ? Abandonar de vez o DBExpress ? Abandonar de vez o mySQL ? Um dos maiores problemas é que a aplicação tem componentes de acesso em cada form, ou seja, quem desenvolveu não utilizou um datamodule para centralizar os componentes de acesso.Assim, se resolver abandonar o DBExpress, vou ter que percorrer todos os forms da aplicação substituindo os componentes. Gostaria de saber de vocês, se isso acontece com outros bancos, ou realmente o Delphi não acompanhou a evolução somente do mySQL. Por exemplo: o BDS 2006 conecta normalmente com o SQL Server 2005 Express Edition, usando DBExpress ? Estou realmente perdido, pois tenho alguns projetos para iniciar, e ainda não decidi qual banco de dados e componente de acesso utilizar. já que tenho medo de futuramente cair no mesmo problema (o componente não acompanhar a evolução do BD). Um abraço a todos e um FELIZ 2007 ! Plinio Cesar Pavin [As partes desta mensagem que não continham texto foram removidas] -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.432 / Virus Database: 268.16.0/609 - Release Date: 29/12/2006 16:48 [As partes desta mensagem que não continham texto foram removidas]