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

Ivan Guimarães Meirelles igmeirelles em gmail.com
Sex Mar 16 10:36:40 -03 2007


Olá Reijanio...

O tipo INTEGER só aceita valores entre -2147483648 e 2147483647, pois é um
número inteiro de 32 bits.

Portanto 3420011021 é um inteiro maior que o suportado pelo tipo INTEGER.

Experimente mudar o campo que recebe esse número para o tipo BIGINT que
suporta valores inteiros de 64 bits.

Espero ter ajudado.

Um abraço...


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Reijanio Nunes Ribeiro
Enviada em: sexta-feira, 16 de março de 2007 09:40
Para: FireBase
Assunto: [firebase-br] Ajuda(Cannot edit Current row)

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