procedure que não funciona o que fazer ?
a procedure em si não dá nenhum erro ... mas não insere valores... foi constatado que está recebendo os valores. Mas não grava. O que fazer ?
---------------------------------
with Dm_locadora.SProcedure do
begin
ParamByName(´codrecibo´).AsInteger:=i_contador;
ParamByName(´codclien´).AsInteger:=strtoint(Editcodigo.Text);
parambyname(´codprod´).AsInteger:=StrToInt(Editcodfita.Text);
parambyname(´dtloc´).AsDate:=dt_hoje;
ParamByName(´dtdev´).AsDate:=dt_hoje+Dm_locadora.Qry1.Fields[6].value;
parambyname(´valor´).AsCurrency:=Dm_locadora.Qry1.Fields[5].Value;
parambyname(´vltotal´).AsCurrency:=strtofloat(Edittotal.Text);
try
ExecProc;
Dm_locadora.TransactionLocad.CommitRetaining;
except
Dm_locadora.TransactionLocad.RollbackRetaining;
erro3;
end;
end;
esta é a procedure no firebird
------------------------------------------
set term^;
create procedure sp_locacao
(
:codrecibo integer, :codclien integer, :codprod integer, :dtloc date, :dtdev date,
:valor decimal(9,2), vltotal decimal(9,2)
)
insert into recibo (cod_recib,cod_clien,cod_prod,dtloc_recib,dtdev_recib,vl_recib,
vltot_recib) values (:codrecibo, :codclien, :codprod, :dtloc, :dtdev, :valor, vltotal );
end^
set term ;^
a procedure foi criada como conforme acima !
---------------------------------
with Dm_locadora.SProcedure do
begin
ParamByName(´codrecibo´).AsInteger:=i_contador;
ParamByName(´codclien´).AsInteger:=strtoint(Editcodigo.Text);
parambyname(´codprod´).AsInteger:=StrToInt(Editcodfita.Text);
parambyname(´dtloc´).AsDate:=dt_hoje;
ParamByName(´dtdev´).AsDate:=dt_hoje+Dm_locadora.Qry1.Fields[6].value;
parambyname(´valor´).AsCurrency:=Dm_locadora.Qry1.Fields[5].Value;
parambyname(´vltotal´).AsCurrency:=strtofloat(Edittotal.Text);
try
ExecProc;
Dm_locadora.TransactionLocad.CommitRetaining;
except
Dm_locadora.TransactionLocad.RollbackRetaining;
erro3;
end;
end;
esta é a procedure no firebird
------------------------------------------
set term^;
create procedure sp_locacao
(
:codrecibo integer, :codclien integer, :codprod integer, :dtloc date, :dtdev date,
:valor decimal(9,2), vltotal decimal(9,2)
)
insert into recibo (cod_recib,cod_clien,cod_prod,dtloc_recib,dtdev_recib,vl_recib,
vltot_recib) values (:codrecibo, :codclien, :codprod, :dtloc, :dtdev, :valor, vltotal );
end^
set term ;^
a procedure foi criada como conforme acima !
Midas
Curtidas 0
Respostas
Afarias
21/08/2003
|a procedure em si não dá nenhum erro ... mas não insere valores... foi
|constatado que está recebendo os valores. Mas não grava. O que fazer ?
Vc usou um SQL Monitor para verificar isso?? Já testou a procedure no IBConsole??
Não dá erro?! Não acontece nada?!?! Está testando a aplicação em ´Run´ (depurando) ??
// sugiro -- até por simplicidade a pequena alteração a seguir::
try
ExecProc;
Transaction.CommitRetaining;
except
Transaction.RollbackRetaining;
erro3;
end;
end;
|a procedure foi criada como conforme acima !
quanto a procedure, não parece ter nada de errado com ela... pode ser alguma constraint na tabela, más, vc diz q não dá erro!! -- realmente, estou sem idéias :(
T+
|constatado que está recebendo os valores. Mas não grava. O que fazer ?
Vc usou um SQL Monitor para verificar isso?? Já testou a procedure no IBConsole??
Não dá erro?! Não acontece nada?!?! Está testando a aplicação em ´Run´ (depurando) ??
// sugiro -- até por simplicidade a pequena alteração a seguir::
try
ExecProc;
Transaction.CommitRetaining;
except
Transaction.RollbackRetaining;
erro3;
end;
end;
|a procedure foi criada como conforme acima !
quanto a procedure, não parece ter nada de errado com ela... pode ser alguma constraint na tabela, más, vc diz q não dá erro!! -- realmente, estou sem idéias :(
T+
GOSTEI 0
Allen74
21/08/2003
Já tá meio tarde mas acho que minhas vistas ainda estão boas. No códico da procedure que foi postado não estão faltando os dois pontos para o parâmetro vltotal?
GOSTEI 0
Midas
21/08/2003
já estou ficando louco !!!!!!!!!! Alen vc tem razão foi apenas um erro de digitação ! Como disse o codigo está compilando e está dando ok. No ibexpert executo a procedure acima passando parametros manualmente, então apos executar ele não me passa erro algum e os valores vão ficando no parameters history, mas ao analisar a tabela vejo que o data do campo não possui valores !!!!!!! Alguma ideia ?
GOSTEI 0
Midas
21/08/2003
Pessoal ! boa noticia ! hoje pela manhã testei a procedure e ele funcionou !!!
Não quero nem saber o que aconteceu... só sei que está funcionando agora .... Valeu pessoal .
Não quero nem saber o que aconteceu... só sei que está funcionando agora .... Valeu pessoal .
GOSTEI 0
Afarias
21/08/2003
Boa vista Allen74, está faltando mesmo...
...e vc heim Midas?! :roll: ...teste melhor seus códigos né!!
T+
...e vc heim Midas?! :roll: ...teste melhor seus códigos né!!
T+
GOSTEI 0