Erro Delphi x interbase
Sera que alguem pode me ajudar ?
Estou usando uma Store Procedure no IB 6 para efetuar o cadastro de uma empresa, quando teclo sobre o botão confirmar acontece o seguinte erro:
ARITHMETIC EXCEPTION, NUMERIC OVERFLOW, OR STRING TRUCATION
estou usando
dialect 3
charcter set win1252
segue abaixo a estrutura da SP
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE ´SPEMPRESA´
(
´COD_EMPRESA´ INTEGER,
´RAZAO´ VARCHAR(50) CHARACTER SET WIN1252,
´CGC´ VARCHAR(15) CHARACTER SET WIN1252,
´ENDERECO´ VARCHAR(30) CHARACTER SET WIN1252,
´BAIRRO´ VARCHAR(20) CHARACTER SET WIN1252,
´CIDADE´ VARCHAR(20) CHARACTER SET WIN1252,
´UF´ VARCHAR(2) CHARACTER SET WIN1252,
´CEP´ CHAR(8) CHARACTER SET WIN1252,
´TELEFONE´ CHAR(10) CHARACTER SET WIN1252,
´FONEFAX´ CHAR(10) CHARACTER SET WIN1252,
´EMAIL_EMPRESA´ VARCHAR(20) CHARACTER SET WIN1252,
´CONTATO´ VARCHAR(30) CHARACTER SET WIN1252,
´ACESSKEY´ VARCHAR(10) CHARACTER SET WIN1252,
´TIPO´ INTEGER
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE ´SPEMPRESA´
(
´COD_EMPRESA´ INTEGER,
´RAZAO´ VARCHAR(50) CHARACTER SET WIN1252,
´CGC´ VARCHAR(15) CHARACTER SET WIN1252,
´ENDERECO´ VARCHAR(30) CHARACTER SET WIN1252,
´BAIRRO´ VARCHAR(20) CHARACTER SET WIN1252,
´CIDADE´ VARCHAR(20) CHARACTER SET WIN1252,
´UF´ VARCHAR(2) CHARACTER SET WIN1252,
´CEP´ CHAR(8) CHARACTER SET WIN1252,
´TELEFONE´ CHAR(10) CHARACTER SET WIN1252,
´FONEFAX´ CHAR(10) CHARACTER SET WIN1252,
´EMAIL_EMPRESA´ VARCHAR(20) CHARACTER SET WIN1252,
´CONTATO´ VARCHAR(30) CHARACTER SET WIN1252,
´ACESSKEY´ VARCHAR(10) CHARACTER SET WIN1252,
´TIPO´ INTEGER
)
AS
DECLARE VARIABLE REGIS INTEGER;
begin
/*
Inclusão
*/
if (TIPO = 1) then
begin
begin
SELECT GEN_ID(GEN_empresa,1) FROM RDB$DATABASE INTO :REGIS;
if (regis >= 1) then
EXCEPTION EMPRESA;
INSERT INTO EMPRESA (COD_EMPRESA, RAZAO, CGC, ENDERECO,
BAIRRO, CIDADE, UF, CEP, TELEFONE, FONEFAX, _EMPRESA,CONTATO,
ACESSKEY)
VALUES
(:REGIS, :RAZAO, :CGC, :ENDERECO, :BAIRRO,
:CIDADE, :UF, :CEP, :TELEFONE, :FONEFAX, :EMAIL_EMPRESA,
:CONTATO, :ACESSKEY);
end
SUSPEND;
end
end
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
Sera que alguem pode me mostrar onde esta o erro? :? :?
Estou usando uma Store Procedure no IB 6 para efetuar o cadastro de uma empresa, quando teclo sobre o botão confirmar acontece o seguinte erro:
ARITHMETIC EXCEPTION, NUMERIC OVERFLOW, OR STRING TRUCATION
estou usando
dialect 3
charcter set win1252
segue abaixo a estrutura da SP
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE ´SPEMPRESA´
(
´COD_EMPRESA´ INTEGER,
´RAZAO´ VARCHAR(50) CHARACTER SET WIN1252,
´CGC´ VARCHAR(15) CHARACTER SET WIN1252,
´ENDERECO´ VARCHAR(30) CHARACTER SET WIN1252,
´BAIRRO´ VARCHAR(20) CHARACTER SET WIN1252,
´CIDADE´ VARCHAR(20) CHARACTER SET WIN1252,
´UF´ VARCHAR(2) CHARACTER SET WIN1252,
´CEP´ CHAR(8) CHARACTER SET WIN1252,
´TELEFONE´ CHAR(10) CHARACTER SET WIN1252,
´FONEFAX´ CHAR(10) CHARACTER SET WIN1252,
´EMAIL_EMPRESA´ VARCHAR(20) CHARACTER SET WIN1252,
´CONTATO´ VARCHAR(30) CHARACTER SET WIN1252,
´ACESSKEY´ VARCHAR(10) CHARACTER SET WIN1252,
´TIPO´ INTEGER
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE ´SPEMPRESA´
(
´COD_EMPRESA´ INTEGER,
´RAZAO´ VARCHAR(50) CHARACTER SET WIN1252,
´CGC´ VARCHAR(15) CHARACTER SET WIN1252,
´ENDERECO´ VARCHAR(30) CHARACTER SET WIN1252,
´BAIRRO´ VARCHAR(20) CHARACTER SET WIN1252,
´CIDADE´ VARCHAR(20) CHARACTER SET WIN1252,
´UF´ VARCHAR(2) CHARACTER SET WIN1252,
´CEP´ CHAR(8) CHARACTER SET WIN1252,
´TELEFONE´ CHAR(10) CHARACTER SET WIN1252,
´FONEFAX´ CHAR(10) CHARACTER SET WIN1252,
´EMAIL_EMPRESA´ VARCHAR(20) CHARACTER SET WIN1252,
´CONTATO´ VARCHAR(30) CHARACTER SET WIN1252,
´ACESSKEY´ VARCHAR(10) CHARACTER SET WIN1252,
´TIPO´ INTEGER
)
AS
DECLARE VARIABLE REGIS INTEGER;
begin
/*
Inclusão
*/
if (TIPO = 1) then
begin
begin
SELECT GEN_ID(GEN_empresa,1) FROM RDB$DATABASE INTO :REGIS;
if (regis >= 1) then
EXCEPTION EMPRESA;
INSERT INTO EMPRESA (COD_EMPRESA, RAZAO, CGC, ENDERECO,
BAIRRO, CIDADE, UF, CEP, TELEFONE, FONEFAX, _EMPRESA,CONTATO,
ACESSKEY)
VALUES
(:REGIS, :RAZAO, :CGC, :ENDERECO, :BAIRRO,
:CIDADE, :UF, :CEP, :TELEFONE, :FONEFAX, :EMAIL_EMPRESA,
:CONTATO, :ACESSKEY);
end
SUSPEND;
end
end
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
Sera que alguem pode me mostrar onde esta o erro? :? :?
Emilson
Curtidas 0
Respostas
Lucas Silva
28/04/2004
http://delphiforum.icft.com.br/forum/viewtopic.php?t=29279&highlight=arithmetic+exception
Utilize o método de busca do fórum que você ira achar bastante coisa.
Utilize o método de busca do fórum que você ira achar bastante coisa.
GOSTEI 0
Luciohc
28/04/2004
Deve ser porque você está usando acentos ou caracteres especiais.
Lúcio ...
Lúcio ...
GOSTEI 0