[firebase-br] Retorno de Procedures

Wagner Bidin wagner.bidin em gmail.com
Ter Set 20 22:17:40 -03 2016


Caros, boa noite

Sou novo em Firebird, apesar de já ter mexido algumas vezes com ele, mas
nada profissional, porém agora devido a uma necessidade a solução Embedded
foi definida para uso.

Pois bem, estou desenvolvendo uma interface de gravação de usuários com
Stored Procedure pelo IBExpert, quando executo o código neste ambiente o
retorno é zero tal como definido, porém na aplicação (windows.forms com C#)
chamando a procedure pelo método ExecuteScalar ou ExecuteNonQuery o retorno
que surge é -1

Algum abençoado poderia iluminar esta pessoa? Queria entender o motivo do
retorno ser -1 e não 0 como definido.

(Abaixo o código da procedure)


CREATE OR ALTER PROCEDURE IDB_SP_USU_GRAVA_USUARIO (
    in_usu_id integer,
    in_usu_log varchar(50),
    in_usu_pwd varchar(80),
    in_usu_nam varchar(80),
    in_usu_sta char(1),
    in_usu_dta_val date,
    in_prf_id integer)
returns (
    msg_ret integer
)
as
BEGIN
    if ( :IN_USU_ID = 0 ) then in_usu_id = NULL;
    if ( ( :in_usu_dta_val < current_date) or (:in_usu_dta_val IS NULL))
then IN_USU_DTA_VAL = dateadd(year, 1, current_date);

    UPDATE or INSERT INTO idb_tb_usu_usuarios
        (usu_id, usu_log, usu_pwd, usu_nam, usu_sta, prf_id, usu_dta_inc,
usu_dta_fin)
    VALUES
        (:IN_USU_ID, :IN_USU_LOG, :IN_USU_PWD, :IN_USU_NAM, :IN_USU_STA,
:IN_PRF_ID, CURRENT_DATE, :IN_USU_DTA_VAL);
    MSG_RET = sqlcode;

END


-- 
Wagner Eduardo Bidin
http://www.bidin.com.br
+55 11 9.8893-3535
Twitter: @wbidin



Mais detalhes sobre a lista de discussão lista