Como sair deste problema
13/03/2006
0
Uso D7 -DBExpress - Firebird 1.5.x
Meu problema:
Tenho uma tabela com campo numérico (NUMERIC 9,2).
Este Campo Vem para o CDS no DM como Sendo TFMTBCDField.
Este Campo no CDS na sua propriedade DisplayFormat := ,#0.00
Junto ao Formulário insiro um DBEdit preencho suas propriedades DataField com este campo.
Este Campo ao ser digitado com inteiro/fração tipo 15,30 e ao ser ´postado´ da a seguinte mensagem - ´15,30 is not a valid BCD Value´
A pergunda é ´ e ai como sair desta!´
Agradeço antecipadamente pela ajuda.
Sds/Hélio
Helio Nascimento
Posts
15/03/2006
Helio Nascimento
Ai vai o DDL da Tabela envolvida:
/******************************************************************************/ /**** Generated by IBExpert 15/03/2006 06:56:22 ****/ /******************************************************************************/ SET SQL DIALECT 3; SET NAMES WIN1252; /******************************************************************************/ /**** Tables ****/ /******************************************************************************/ CREATE TABLE REQUISICAO ( ID_REQUISICAO DM_INTEGER_PK /* DM_INTEGER_PK = INTEGER NOT NULL CHECK (VALUE > 0) */, REQ_DATA DATAHORA /* DATAHORA = TIMESTAMP DEFAULT ´NOW´ */, REQ_NUMERO STRING10 /* STRING10 = VARCHAR(10) */, REQ_REQUERENTE STRING20 COLLATE PXW_INTL850 /* STRING20 = VARCHAR(20) */, REQ_ESTAB_DESTINO STRING50 COLLATE PXW_INTL850 /* STRING50 = VARCHAR(50) */, REQ_MATRICULA STRING10 COLLATE PXW_INTL850 /* STRING10 = VARCHAR(10) */, REQ_ASSOCIADO STRING60 COLLATE PXW_INTL850 /* STRING60 = VARCHAR(60) */, REQ_FORMA_PGTO CHAR_1 COLLATE PXW_INTL850 /* CHAR_1 = CHAR(1) */, REQ_QUEM_AUTORIZA STRING30 COLLATE PXW_INTL850 /* STRING30 = VARCHAR(30) */, REQ_EMITIR_NF CHAR_1 COLLATE PXW_INTL850 /* CHAR_1 = CHAR(1) */, REQ_CANCELADA CHAR_1 COLLATE PXW_INTL850 /* CHAR_1 = CHAR(1) */, REQ_ASSSINADO_POR STRING25 COLLATE PXW_INTL850 /* STRING25 = VARCHAR(25) */, REQ_OBS DM_BLOB_TEXTO /* DM_BLOB_TEXTO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, REQ_DESCRICAO DM_BLOB_TEXTO /* DM_BLOB_TEXTO = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, REQ_TIPO CHAR_2 COLLATE PXW_INTL850 /* CHAR_2 = CHAR(2) */, REQ_LITROS SMALLINT, REQ_PARCELAS SMALLINT, REQ_VALOR SALDO /* SALDO = NUMERIC(18,2) DEFAULT 0.0 */ ); /******************************************************************************/ /**** Primary Keys ****/ /******************************************************************************/ ALTER TABLE REQUISICAO ADD CONSTRAINT PK_REQUISICAO PRIMARY KEY (ID_REQUISICAO); /******************************************************************************/ /**** Privileges ****/ /******************************************************************************/
Quanto ao Driver Utilizada o Interbase com GDS32.DLL - Mudei para o Driver para o dbexpUIBfire15.dll e com GDS32.DLL - Continuou com o mesmo problema. Substitui a GDS32.DLL por FBCLIENT.DLL. - Idem ao mesmo problema.
Agora ´Durmam com um barulho deste´ ... em Casa ontem a noite levei o famigerado ´Fontes´ e ´soltei´ no meu modesto PC - com o XP instalado,
e fiz os testes. - P A S M E M !!! - Não deu problemas ! - Deslizou como uma Bailarina. Consegui cadastrar com 32,20 e com somente 0,20.
Não houve nada - nem quando compilava e nem quando executava. Tudo as mil maravilhas utilizado o nosso DBEdit. Retornei hoje e vi este ´posts´ de voces aos quais estou respondendo e.. com o mesmo fonte de casa coloquei aqui e... compilei/linkei e... deu pau. O Executavel que gerei em casa esta rodando aqui tudo bem, com a mesma base. É ou não para voce ficar doido!!. Estas máquinas ainda me levam para um hospício!.
Sds/Helio
15/03/2006
Marco Salles
Mas segue aqui tres perguntas.. Porque acho que voce ainda não me respondeu
Eu acho que esta errado...
1)Voce fez algum Download para ter um Driver especifico para acessar o firibird usando o DbExpress ?????
Mas quando eu falei em driver , quiz dizer o Driver de conexão do SqlConnetion .... Na propriedade conncetionName ????
dbexpUIBfire15.dll é o nome da Library Name que é configurara automaticamente pelo componente assim que voce define o Driver de conexão na propriedade conncetionName..Eu não entendo como voce no SqlConecction pode atribuir manualmente ´Nomes´ para a Library Nome e Para o VendorLibrary...
2)Na propriedade NameConnection , qual foi o Driver que vopce definiu :?: :?: Note que quando se da dois clicks no Componente se tem por padrão vários drives(IBconnection ,DB2Connection
OracleConnection , etc...)
3)E outra.. Voce por acaso deve a curiosidade de Ver na sua casa se o Tfield É do mesmo tipo TFMTBCDField. ????
15/03/2006
Martins
Cara que louco!!!
O [b:82d8a2e52c]Marco Salles[/b:82d8a2e52c] está querendo saber o q vc informou em [b:82d8a2e52c]Driver Name[/b:82d8a2e52c] do componente [color=darkblue:82d8a2e52c][b:82d8a2e52c]SQLConnection[/b:82d8a2e52c][/color:82d8a2e52c],
Um fato curioso é que se vc compilar em seu PC e levar para o seu Cliente ou trabalho funciona, e lá vc tem a mesma versão do Delphi, com a mesma versão do SO e as config. tanto do SO quando do Delphi são as mesmas ou mais próximas possíveis?
15/03/2006
Helio Nascimento
Desculpe-me pela demora é que o bicho pegou agora e não tive tempo de responder-lhes
Quanto ao Driver no SQL Connection abaixo segue o Link daqui mesmo
[url]https://www.devmedia.com.br/visualizaComponente.aspx?comp=971&site=3[/url]
foi o que fiz este artigo do Luciano Pimenta.
Sim em casa tambem é criado o famigerado TFMTBCDField. Tudo acontece em casa acontece por aqui. Só que aqui da pau lá não !!!!!!
Até Breve /Hélio
16/03/2006
Marco Salles
Botei a culpa no
Dialeto
Languagem
PageSize
Charset
Drive de Conexão
Tudo que voce esta fazendo esta igual ao meu e acredito igual ao do martins..
[b:9966603717]Nen sen voce fizer uma copia do seu Projeto da sua casa e instalar este Projeto feito na sua casa ai no Pc Que esta dando Problema , Não Funciona??????[/b:9966603717]
Porque se nesse caso não funcionar , acho que não estarei doido em creditar alguma culpa no Sistema Operacional :!:
Alguem tem que levar a culpa :lol: E por falar em Sistema , qual é o da sua casa e qual é o seu (Que esta dando Errado)
17/03/2006
Helio Nascimento
Respondendo...
Tanto na empresa quanto em minha casa o Sistema Operacional é Windows XP
Sds/Hélio
17/03/2006
Marco Salles
Respondeu uma meu amigo , mas a outra que é minha ultima tentativa de entender e fazer conjuturas:
[b:6980391c5f]Nen sen voce fizer uma copia do seu Projeto da sua casa e instalar este Projeto feito na sua casa ai no Pc Que esta dando Problema , Não Funciona?????? [/b:6980391c5f]
Eu não estou falando só do executavel não .. O executável voce ja disse que roda sem problemas ,, Eu to falando de trazer o projeto feito na suua casa e compila-lo ai na sua empresa (Acredito que deva ser a mesma versão do delphi).. Nen assim funciona
17/03/2006
Helio Nascimento
Pois é foi assim mesmo que fiz . Trouxe o *.exe que fiz em casa. Rodou na Empresa normalmente sem problemas de Mensagens. Porém Necessitei de alterar algo e aí aqui na empresa com os fontes gerados em minha casa, deu pau novamente com o mesmo problema que originou toda esta discursão.
È ou não é para vc. ficar doido? // Nas duas máquinas em casa e aqui na empresa são os mesmos sistemas operacionais no caso XP e o Delphi é o mesmo sem tirar nem por tudo que ha em casa quanto a componentes instalados de terceiros , aqui também esta é um cover... A unica coisa diferente sao os processadores e espaços em memoria. Esta maquina da empresa é muito mais nova do que ha que tenho em casa, do resto não muda nada. E portanto não roda. mesmo sem dar pau. Vai ficar assim mesmo rodando no Edit aqui pois não é possível ainda finalizar o sistema pois esta em desenvolvimento.
Até mais../Hélio
17/03/2006
Joaoshi
Espero ter ajudado.
17/03/2006
Marco Salles
Falo isto com razão.. Compre um livro novo e vai lher sobre uma tecnologia moderna em contradição com a tecnologia antiga.. Maravilhas da moderna , nada de ruim , ja a antiga foi substituida por causa de enumeras coisas que somente Hoje , depois de não sei la quantos anos se passaram , se falam dessas coisas.. Porque quem criou , não citou esses problemas no Inicio :?: :?: :?: :?:
Hoje a tecnologia é o DbExpress com SqlCliente.. Da vontade de comer o livro , porque so fala bem.. Ja o DBE ninguem quer mais ouvir falar
E os defeitos cabeludos do DbExpress com SqlCliente , Aonde estão ?? Ninguem fala nada.. Nos é que somos os cobaias e futuramente quando vier uma nova tecnologia , ai sim , somente ai , saberemos os defeitos desta Tecnologia
Por fim , depois de mais de dez anos que fora lançado O DBE , somente hoje que descobri , que mesmo que se use o Firibird ou um outro Banco de dados Relacional , o cache em disco sera armazenado na pior forma possivel PARADOX...Isto mesmo , voce queis usar um SGDB paaa se livrar do PARADOX , mas foi enganado.... isto quando se usa o DBE com acesso. Mas mesmo assim , porque isto não foi falado ha mais tempo..
Nos somos as cobais , eo pior que perdemos tempo e a paciencia , fora o nervosimo que nos ficamos :evil: :evil: :evil: :evil: :evil:
18/03/2006
Martins
Valew
Clique aqui para fazer login e interagir na Comunidade :)