[firebase-br] Ajuda(Cannot edit Current row)

Eduardo Bahiense eduardo em icontroller.com.br
Sex Mar 16 10:23:48 -03 2007


Olá Reijanio

        Você está tentando aramazenar 3.420.011.021 em um campo
configurado para aceitar, no máximo, 2.147.483.647 (INTEGER)

Modifique o tipo de campo de INTEGER para BIGINT ou NUMERIC(18,0)

Abs, Eduardo


Reijanio Nunes Ribeiro escreveu:
> Bom dia pessoal gostaria de uma ajudinha de vc's pois estou c/ um problema,
> criei um importador de tabelas no delphi pra importar txt, ate ai tudo bem.
> a tabela tem esse metadata:
> CREATE TABLE "IMPORTARTXT"
> (
>   "CODIGO"  INTEGER NOT NULL,
>   "DESCRICAO"  VARCHAR(25),
>   "DESC_COMPLEM"  VARCHAR(29),
>   "QTD_MIN"  INTEGER,
>   "PRECO_VENDA"  INTEGER,
>   "COD_PROC"  INTEGER,
>   "PERC_RED_ICMS"  INTEGER,
>   "PERC_IPI"  INTEGER,
>   "CLASS_FISCAL"  INTEGER,
>   "MODELO"  VARCHAR(130),
>   "HIERARQ_PROD"  VARCHAR(18),
>   "TERMINADOR"  CHAR(1)
> );
>  se no campo CODIGO coloco do tipo varchar(13) q é o tamanho do campo ele da
> o erro *arithimetic overflow.........*
> se coloco como esta ai ele importa mais qdo chega num determinado registro q
> nuda a sequencia numerica de 00000xxxxxx, para 000xxxxxxx e diz q "*is not
> valid integer value*"
> (so lembrando esse campo codigo é tdodo numerica daforma q ta ai tipo
> 0000001201654 e quando chega nesse ponto 0003420011021 da essa mensage *"is
> not valid......* n entendo pq e consigo baicar soaté o codigo anterior a
> esse ai, depois de baixado os codigos aparecem na tabela sem os zeros e n
> são *editaveis *qualquer alteração q tento fazer da a msg q diz * Cannot
> edit current row* ou *Cannot delete current row* não entendo o q pode ser
> isso ficaria muito grato se pudessem me ajudar.
> e tbm se me desse uma dica de como posso deixar os numeros igual ao original
> ou seja com esses zeros pois da forma q a tabela esta retira todos os zeros
> a esquerda.
> pra quem quiser ver como fiz no delphi e puder me dar uma força tai a
> sintase:
> procedure TF_importar.BitBtn1Click(Sender: TObject);
> var
> Txt: TextFile;
> Entrada: string;
> begin
> BitBtn1.Enabled := False;
> if opendialog1.Execute then
> begin
>   F_Importar.ClientDataSet1.EmptyDataSet;//zera tabela
>   F_Importar.ClientDataSet1.Open;//abre tabela
>   AssignFile(Txt,(Opendialog1.FileName
> ){'c:\Estudo\Importar\Lista_13P_modelo'});
>  // Animate1.Visible := true;
>  // animate1.Active := true;
>   Reset(Txt);
>   while not Eoln(Txt) do
>   begin
>     ReadLn(Txt,Entrada);
>     F_Importar.ClientDataSet1.insert;
>   //showMessage('-'+copy(entrada,1,13)+'-');
>     F_Importar.ClientDataSet1.FieldByName('codigo').value
> :=StrToInt(copy(entrada,01,13));
> //   showMessage('-'+copy(entrada,1,13)+'-');
>     F_Importar.ClientDataSet1.FieldByName('Descricao').Value
> :=copy(entrada,14,25);
>     F_Importar.ClientDataSet1.FieldByName('desc_complem').Value :=
> copy(entrada,39,29);
>     F_Importar.ClientDataSet1.FieldByName('qtd_min').value :=
> copy(entrada,68,03);
>     F_Importar.ClientDataSet1.FieldByName('preco_venda').Value :=
> copy(entrada,71,12);
>     F_Importar.ClientDataSet1.FieldByName('cod_proc').Value :=
> copy(entrada,83,01);
>     F_Importar.ClientDataSet1.FieldByName('perc_red_icms').Value :=
> StrToFloat(copy(entrada,84,02));
>     F_Importar.ClientDataSet1.FieldByName('perc_ipi').Value :=
> StrToFloat(copy(entrada,86,04));
>     F_Importar.ClientDataSet1.FieldByName('class_fiscal').Value :=
> copy(entrada,90,10);
>     F_Importar.ClientDataSet1.FieldByName('modelo').Value :=
> copy(entrada,100,130);
>     F_Importar.ClientDataSet1.FieldByName('hierarq_prod').Value :=
> copy(entrada,230,18);
>     F_Importar.ClientDataSet1.FieldByName('terminador').Value :=
> copy(entrada,248,01);
>     F_Importar.ClientDataSet1.Post;
>     //NeatoMeter1.caption := 'Importando, Aguarde...'+ IntToStr(
> ClientdataSet1.RecordCount);
> end;
>     CloseFile(Txt);
>      //NeatoMeter1.Caption := 'Importação ralizada com sucesso...';
>      //NeatoMeter1.percent := 100;
>      BitBtn1.Enabled := true;
>      F_IMportar.Height := 205;
>      F_Importar.ClientHeight := 180;
> label1.Visible := true;
> label1.Caption := 'Foi importado um total de' +IntToStr(
> clientDataSet1.RecordCount)+ 'Registros com sucesso';
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista