[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