Dbx Oracle 10(Delphi 7)

Delphi

02/07/2008

Boa Tarde a todos, estou iniciando no uso do Oracle 10g com a paleta DBX do Delphi 7, porém tenho encontrado uma certa dificuldade no tratamento dos dados.

O campo ´INTEIRO´ disponibilizado na própria ferramenta do Oracle não é refletida no SQLDATASET/CLIENTDATASET, sempre aparecendo no tipo ´TFMTBCDField´ e ao pedir para que se salve os dados (sendo aparentemente preenchidos corretamente) , tenho retornado a mensagem ´ORA-01722 ´ ao passar na propriedade ApplyUpdates(0). As minhas reais dúvidas são :

1- Como pode ser visualizado no Fields Editor o campo corretamente como TIntegerField ?
2- Qual a configuração correta do datasetprovider(update mode) / sqldataset (provider flags de cada campo) sendo que há chave primária nas tabelas e datasetprovider.UpdateMode := ´upWhereKeyOnly´ ?

Obrigado


Vfbruno

Vfbruno

Curtidas 0

Respostas

Ffabiop

Ffabiop

02/07/2008

Pois é, para conseguir um Inteiro no dataset do Delphi, tive que definir o campo como numerico com precisão 0. Ex: Id_Fornecedor numeric(6,0)


GOSTEI 0
Vfbruno

Vfbruno

02/07/2008

Bom Dia Fábio, por exemplo até usar a precisão (escala) está fácil, porém ao salvar no banco , a minha estrutura não fica como number(6,0) e ao abrir no cds ela simplesmente mostra como TFMTBCDFIELD . Vc poderia dizer os processos feitos por vc?

Obrigado


GOSTEI 0
Ffabiop

Ffabiop

02/07/2008

Trabalho a criação das tabelas via SQL Developer via DLL ou com as ferramentas do utilitário mesmo.

CREATE TABLE "BALANCA"."DOCUMENTOS" 
   ("NUMERO" NUMBER(10,0) NOT NULL ENABLE, 
"FORNECEDOR" NUMBER(10,0) NOT NULL ENABLE, 
"DATADOCUMENTO" DATE NOT NULL ENABLE, 
"SERIE" VARCHAR2(10 BYTE), 
"VENCIMENTO" DATE, 
"VALORNOTA" NUMBER(12,2), 
"FRETISTA" NUMBER(5,0));

Adicionando os campos no dataSet no Delphi ele pega os precisão 0 como inteiro e os precisão 2 como float.


GOSTEI 0
POSTAR