Dbx Oracle 10(Delphi 7)
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
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
Curtidas 0
Respostas
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
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
Obrigado
GOSTEI 0
Ffabiop
02/07/2008
Trabalho a criação das tabelas via SQL Developer via DLL ou com as ferramentas do utilitário mesmo.
Adicionando os campos no dataSet no Delphi ele pega os precisão 0 como inteiro e os precisão 2 como float.
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