Ayuda con Stored Procedure

Post Reply
User avatar
JoseAlvarez
Posts: 826
Joined: Sun Nov 09, 2014 5:01 pm
Been thanked: 7 times

Ayuda con Stored Procedure

Post by JoseAlvarez »

Saludos, estimados colegas.

Estoy comenzando a trabajar con STORED PROCEDURE. Desde script funciona muy bien.
Pero al llevarlo a FW, no se como recuperar el resultado de la consulta. Aca dejo el codigo:

Code: Select all | Expand

cQuery := "CALL obtener_saldos_clientes();"

TRY
  _oSqlConex:execute( cQuery )
 CATCH
  Fnct_MsgErrorBD("NoMySql"  , .f. , "No hay conexión a La Base de Datos" , "Sin Acceso a La Red","Error en servicio de Datos",)
  _Close()
  return .f.
END TRY
Cuando lo ejecuto, no arroja error. Me imagino que esta bien, la pregunta es ¿como capturo las filas de la consulta?
uso tDolphin.

la base de datos con el stored procedure se encuentra en un servidor de pago en la nube con mysql.

Gracias anticipadas por la ayuda que me puedan prestar.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
carlos vargas
Posts: 1728
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua
Been thanked: 3 times

Re: Ayuda con Stored Procedure

Post by carlos vargas »

Contactame 😁
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
Willi Quintana
Posts: 1033
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Been thanked: 4 times
Contact:

Re: Ayuda con Stored Procedure

Post by Willi Quintana »

MI estimado, de ésta manera:

cQuery := "obtener_saldos_clientes" // nombre del store procedure
oProd := oSqlConex:CallSP( cQuery )

xbrowse(oProd)
User avatar
JoseAlvarez
Posts: 826
Joined: Sun Nov 09, 2014 5:01 pm
Been thanked: 7 times

Re: Ayuda con Stored Procedure

Post by JoseAlvarez »

Estimados amigos Carlos y Willi.

Una vez más agradecido con su gentil ayuda y por estar siempre dispuestos a tendernos una mano.

Carlos, tu sugerencia funcionó de 10, excelente. y muchas gracias por tu ayuda personalizada. Ya han sido varias ocasiones, eso habla muy bien de ti como persona y colega.

Willi, tu idea no me funcionó, quizás no supe implementarla. Intente conseguir ese detalle que no me permitió ejecutar el stored procedure, a pesar que mas sencillo que eso, parece no puede ser. Igualmente muchas gracias ¡

a Ambos.. un abrazo.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
carlos vargas
Posts: 1728
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua
Been thanked: 3 times

Re: Ayuda con Stored Procedure

Post by carlos vargas »

José gracias por tus palabras.
Para que quede registro, luego de llamar a ún store procedure, es necesario una llamada al método nextresult.
Otro detalle es que al retornar un valor es necesario llamarlo con el método query.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
cnavarro
Posts: 6675
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 12 times
Been thanked: 12 times

Re: Ayuda con Stored Procedure

Post by cnavarro »

Es posible que pongas la solucion aportada para que todos tengamos esa valiosa informacion?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
JoseAlvarez
Posts: 826
Joined: Sun Nov 09, 2014 5:01 pm
Been thanked: 7 times

Re: Ayuda con Stored Procedure

Post by JoseAlvarez »

Cierto Master Navarro.

aqui este el codigo:

Code: Select all | Expand

	cQuery := "CALL obtener_saldos_clientes('"+_cPrefijo+"');"

	TRY
          oQry := _oSqlConex:Query( cQuery )
	  _oSqlConex:NextResult()
        CATCH
	  Fnct_MsgErrorBD("NoMySql"  , .f. , "No hay conexión a La Base de Datos" , "Sin Acceso a La Red","Error en servicio de Datos",)
	  _Close()
	  return .f.
        END TRY
           
       aResumen    :={}
       aResumenBack:= {}

       aResumen:=oQry:FillArray()
       aResumenBack:=aClone(aResumen)
en el cQuery se hace la llamada al procedimiento almacenado que debe existir previamente en la base de datos.
lo demas es una consulta normalita, la magia la hace la instruccion _oSqlConex:NextResult()

Esa instrucción es la que hace posible que oQry se convierta en lo que estamos acostumbrados a recibir de cualquier consulta.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
sysctrl2
Posts: 1090
Joined: Mon Feb 05, 2007 7:15 pm
Has thanked: 14 times
Been thanked: 9 times
Contact:

Re: Ayuda con Stored Procedure

Post by sysctrl2 »

ya que andamos en eso,
como crear el procedimiento desde codigo ? :shock:
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
JoseAlvarez
Posts: 826
Joined: Sun Nov 09, 2014 5:01 pm
Been thanked: 7 times

Re: Ayuda con Stored Procedure

Post by JoseAlvarez »

sysctrl2 wrote: Wed May 14, 2025 7:16 pm ya que andamos en eso,
como crear el procedimiento desde codigo ? :shock:
Saludos César,

En realidad apenas me estoy iniciando en esto, explicarte tal cual no sabría decirte. Lo he venido haciendo apoyándome en la IA (copilot).
El procedimiento es así:

1.- creo la consulta con mis conocimientos de mysql.
2.- luego se la paso a la IA y le pido que la optimice. Luego de optimizada la pruebo bien con el editor de scritps de NAVICAT, yo trabajo con el, puede ser cualquiera, como heidi, dbeaver, dbvisualizer o sqlyog.
3. Luego que estoy seguro que funciona como quiero, le pido a la IA que haga el script para hacer el stored procedure y lo hace a la perfección. Solo es cuestión de hacer un "copy & paste" nuevamente en el editor de scripts y ejecutarlo. Así queda hecho el stored procedure.

Hasta ahora va de maravilla.

La IA se ha convertido (al menos para mi) en una extraordinaria herramienta, la uso a diario. El secreto esta en aprender a preguntar correctamente, una vez que lo dominas, el porcentaje de fallas es mínimo.

Inténtalo, de verdad que es un buen camino para optimizar nuestras apps
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
karinha
Posts: 8079
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 12 times
Contact:

Re: Ayuda con Stored Procedure

Post by karinha »

Querido Maestro Nages,

https://www.fivetechsupport.com/forums/ ... p?p=266328

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Post Reply