[firebase-br] Retorno de Procedures

Joao Ferreira jfsferreira em gmail.com
Qua Set 21 05:11:59 -03 2016


Seria interessante ver o codigo c#. Mas mesmo assim posso garantir que a
funçao ExecuteScalar se nao tiver a saida formatada retorna sempre um
objecto e nao um inteiro...

On 2016 9 21 02:20, "Wagner Bidin" <wagner.bidin em gmail.com> wrote:

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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://www.firebase.com.br/
pesquisa_lista.html



Mais detalhes sobre a lista de discussão lista