GARANTIR DESCONTO

Fórum Usando update no Firebird #269452

21/02/2005

0

Recebi recentemete um arquivo texto para importação de dados delimitado por ; mas que infelizmente o ultimo campo que no exemplo abaixo seria 7,70 está sem a virgula da casa decimal, fiz a importação dos dados inicialmente no access e usando datapump importei os dados para o firebird. A minha dúvida é, como faria para juntar os dados de dois campos sendo um tipo float e o outro tipo texto em um novo campo e claro não esquecendo a virgula da casa decimal.

obs.: de preferência usando um update, algo tipo assim:

update perda_1 SET VALOR1=VALOR+´,´+VALOR2 WHERE MATRICULA=´096320052´



00002;00001;0096320052;0000199901;1999-01-04;000000000000770




Rogerio Amorim


Rogerio_amorim

Rogerio_amorim

Responder

Posts

21/02/2005

Emerson Nascimento

faça algo como:

update perda_1 SET VALOR1=:Valor WHERE MATRICULA=:Matricula

daí, no seu programa de leitura do txt, faça algo como:
Valor := StrToIntDef( RightStr( Linha,15 ),0 ) / 100; // adicione a unit StrUtils na cláusula [b:96a39133c9]uses[/b:96a39133c9]
Matricula := MidStr( Linha,13,10 );

e passe esses valores como parâmetro da função:
Params.ParamByName(´Valor´).AsFloat := Valor;
Params.ParamByName(´Matricula´).AsString := Matricula;
ExecSQL;

Essa sintaxe de passagem de parâmetros é para um ClientDataset. Verifique a sintaxe correta para o objeto que você está utilizando.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar