FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con Stored Procedure
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Ayuda con Stored Procedure
Posted: Mon May 12, 2025 06:32 PM
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:
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.
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Ayuda con Stored Procedure
Posted: Mon May 12, 2025 07:42 PM
Contactame 😁
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Ayuda con Stored Procedure
Posted: Tue May 13, 2025 01:22 AM

MI estimado, de ésta manera:

cQuery := "obtener_saldos_clientes" // nombre del store procedure

oProd := oSqlConex:CallSP( cQuery )

xbrowse(oProd)

Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Ayuda con Stored Procedure
Posted: Tue May 13, 2025 08:42 PM

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.
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Ayuda con Stored Procedure
Posted: Wed May 14, 2025 08:23 AM

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)
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Ayuda con Stored Procedure
Posted: Wed May 14, 2025 12:58 PM

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
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Ayuda con Stored Procedure
Posted: Wed May 14, 2025 01:13 PM
Cierto Master Navarro.

aqui este el codigo:
	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.
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Ayuda con Stored Procedure
Posted: Wed May 14, 2025 07:16 PM
ya que andamos en eso,
como crear el procedimiento desde codigo ? :shock:
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Ayuda con Stored Procedure
Posted: Thu May 15, 2025 02:58 AM
sysctrl2 wrote: 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.
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Ayuda con Stored Procedure
Posted: Thu May 15, 2025 03:41 PM
Querido Maestro Nages,

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

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

Continue the discussion