Quando eu em inserir o registro e automaticamente cancelado
Se eu tirar o Repeat funciona normal mais se eu deixar o registro e inserido e cancelado automaticamente... PQ?
IBQuery1.Open;
Repeat
IBQuery1.Insert;
IBQuery1.FieldByName(´NOME´).AsString:= edit16.text;
IBQuery1.FieldByName(´ENDERECO´).AsString:= edit17.text;
IBQuery1.FieldByName(´BAIRRO´).AsString:= edit18.text;
IBQuery1.FieldByName(´CIDADE´).AsString:= edit19.text;
IBQuery1.FieldByName(´ESTADO´).AsString:= edit20.text;
IBQuery1.FieldByName(´CEP´).AsString:= edit21.text;
IBQuery1.Post;
until Sair = ´S´;
IBQuery1.Open;
Repeat
IBQuery1.Insert;
IBQuery1.FieldByName(´NOME´).AsString:= edit16.text;
IBQuery1.FieldByName(´ENDERECO´).AsString:= edit17.text;
IBQuery1.FieldByName(´BAIRRO´).AsString:= edit18.text;
IBQuery1.FieldByName(´CIDADE´).AsString:= edit19.text;
IBQuery1.FieldByName(´ESTADO´).AsString:= edit20.text;
IBQuery1.FieldByName(´CEP´).AsString:= edit21.text;
IBQuery1.Post;
until Sair = ´S´;
Max.sgj
Curtidas 0
Respostas
Max.sgj
04/12/2005
Tentei ultilizar esse mesmo comando com outra tabela e deu a seguite mensagem de erro...
: Arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets.
1: Exceção de aritmética, transbordamento numérico, ou mutilação de fio. Não possa transliterar caráter entre jogos de caráter
: Arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets.
1: Exceção de aritmética, transbordamento numérico, ou mutilação de fio. Não possa transliterar caráter entre jogos de caráter
GOSTEI 0
Edilcimar
04/12/2005
provavelmente vc está tentando colocar caracter acentuado ou com cedilha em bd com character set errado
GOSTEI 0
Max.sgj
04/12/2005
provavelmente vc está tentando colocar caracter acentuado ou com cedilha em bd com character set errado
Vou utilizar outra tabela...
GOSTEI 0
Max.sgj
04/12/2005
provavelmente vc está tentando colocar caracter acentuado ou com cedilha em bd com character set errado
Veja a minha DLL...
CREATE TABLE ENDERECO_2 (
CODIGO INTEGER NOT NULL,
NOME VARCHAR(50) CHARACTER SET ISO8859_1 COLLATE PT_PT,
ENDERECO VARCHAR(50) CHARACTER SET ISO8859_1 COLLATE PT_PT,
BAIRRO VARCHAR(50) CHARACTER SET ISO8859_1 COLLATE PT_PT,
CIDADE VARCHAR(50) CHARACTER SET ISO8859_1 COLLATE PT_PT,
ESTADO VARCHAR(50) CHARACTER SET ISO8859_1 COLLATE PT_PT,
CEP CHAR(10) CHARACTER SET ISO8859_1 COLLATE PT_PT
GOSTEI 0
Emerson Nascimento
04/12/2005
ou talvez você esteja tentando colocar num campo um valor maior do que ele comporta.
por exemplo: seu campo NOME suporta 50 e caracteres e você está digitando mais que 50 caracteres para o nome.
por exemplo: seu campo NOME suporta 50 e caracteres e você está digitando mais que 50 caracteres para o nome.
GOSTEI 0
Max.sgj
04/12/2005
ou talvez você esteja tentando colocar num campo um valor maior do que ele comporta.
por exemplo: seu campo NOME suporta 50 e caracteres e você está digitando mais que 50 caracteres para o nome.
Não o tamanho dos dados é inferior aos camposs
GOSTEI 0
Massuda
04/12/2005
No seu loop repeat...until não tem nada que faça a condição de saída acontecer: você não atribui nada à variável Sair nem tem como o Windows processar qualquer evento.
Provavelmente você está inserindo registros duplicados. O erro de oveflow deve estar acontecendo por causa do loop infinito.
Provavelmente você está inserindo registros duplicados. O erro de oveflow deve estar acontecendo por causa do loop infinito.
GOSTEI 0
Max.sgj
04/12/2005
No seu loop repeat...until não tem nada que faça a condição de saída acontecer: você não atribui nada à variável Sair nem tem como o Windows processar qualquer evento.
Provavelmente você está inserindo registros duplicados. O erro de oveflow deve estar acontecendo por causa do loop infinito.
Como eu resolvo esse problema...
GOSTEI 0
Wiltonfenix
04/12/2005
Como eu resolvo esse problema...
IBQuery1.Open; Repeat IBQuery1.Insert; IBQuery1.FieldByName(´NOME´).AsString:= edit16.text; IBQuery1.FieldByName(´ENDERECO´).AsString:= edit17.text; IBQuery1.FieldByName(´BAIRRO´).AsString:= edit18.text; IBQuery1.FieldByName(´CIDADE´).AsString:= edit19.text; IBQuery1.FieldByName(´ESTADO´).AsString:= edit20.text; IBQuery1.FieldByName(´CEP´).AsString:= edit21.text; IBQuery1.Post; Sair=´S´; until Sair = ´S´;
GOSTEI 0
Emerson Nascimento
04/12/2005
Creio que esteja faltando um Commit após o Post (e esse repeat não me parece necessário).
IBQuery1.Open;
IBQuery1.Insert;
IBQuery1.FieldByName(´NOME´).AsString:= edit16.text;
IBQuery1.FieldByName(´ENDERECO´).AsString:= edit17.text;
IBQuery1.FieldByName(´BAIRRO´).AsString:= edit18.text;
IBQuery1.FieldByName(´CIDADE´).AsString:= edit19.text;
IBQuery1.FieldByName(´ESTADO´).AsString:= edit20.text;
IBQuery1.FieldByName(´CEP´).AsString:= edit21.text;
IBQuery1.Post;
IBQuery1.Open;
IBQuery1.Insert;
IBQuery1.FieldByName(´NOME´).AsString:= edit16.text;
IBQuery1.FieldByName(´ENDERECO´).AsString:= edit17.text;
IBQuery1.FieldByName(´BAIRRO´).AsString:= edit18.text;
IBQuery1.FieldByName(´CIDADE´).AsString:= edit19.text;
IBQuery1.FieldByName(´ESTADO´).AsString:= edit20.text;
IBQuery1.FieldByName(´CEP´).AsString:= edit21.text;
IBQuery1.Post;
GOSTEI 0
Wiltonfenix
04/12/2005
Pode ser a falta de um Commit tb.
E, aproveitando, tem um erro no código que passei:
E, aproveitando, tem um erro no código que passei:
IBQuery1.Open; Repeat IBQuery1.Insert; IBQuery1.FieldByName(´NOME´).AsString:= edit16.text; IBQuery1.FieldByName(´ENDERECO´).AsString:= edit17.text; IBQuery1.FieldByName(´BAIRRO´).AsString:= edit18.text; IBQuery1.FieldByName(´CIDADE´).AsString:= edit19.text; IBQuery1.FieldByName(´ESTADO´).AsString:= edit20.text; IBQuery1.FieldByName(´CEP´).AsString:= edit21.text; IBQuery1.Post; Sair:=´S´; until Sair = ´S´;
GOSTEI 0
Massuda
04/12/2005
Como eu resolvo esse problema...
Por que você precisa do loop?GOSTEI 0
Max.sgj
04/12/2005
[quote:015a4b43e6=´max.sgj´]Como eu resolvo esse problema...
Por que você precisa do loop?[/quote:015a4b43e6]Eu estou estudando Firebird e para isso estou aumentado o tamanho do banco de dados para depois ver como se faz par reduzi-lo...
GOSTEI 0
Max.sgj
04/12/2005
Creio que esteja faltando um Commit após o Post (e esse repeat não me parece necessário).
IBQuery1.Open;
IBQuery1.Insert;
IBQuery1.FieldByName(´NOME´).AsString:= edit16.text;
IBQuery1.FieldByName(´ENDERECO´).AsString:= edit17.text;
IBQuery1.FieldByName(´BAIRRO´).AsString:= edit18.text;
IBQuery1.FieldByName(´CIDADE´).AsString:= edit19.text;
IBQuery1.FieldByName(´ESTADO´).AsString:= edit20.text;
IBQuery1.FieldByName(´CEP´).AsString:= edit21.text;
IBQuery1.Post;
Obrigado funcionou...
GOSTEI 0