Procedimiento almacenado adolib

Procedimiento almacenado adolib

Postby Alin » Thu Sep 22, 2022 1:59 am

Hola,
Alguien que me pueda ayudar y comentar utilizando la lib de Capel/Rafa adolib cómo ejecutar un procedimiento almacenado pasando parámetros y obtener los resultados.

Aquí en el foro sólo encontré esto:
viewtopic.php?f=6&t=13743&p=70536&hilit=TAdoStoreProc&sid=f9808f9ed88f38c9f5cbd91f3512e05b#p70536

pero aún no sé cómo devolver los resultados.

Saludos,
Javier
Alin
 
Posts: 18
Joined: Mon Dec 06, 2010 6:35 pm

Re: Procedimiento almacenado adolib

Postby jacgsoft » Mon Oct 03, 2022 9:56 pm

Para leer datos desde un Procedimiento en SQL-Server, si deseas leer de otro tipo de BAse de datos, solo tienes que cambiar la cadena de conexión.

*******************************************************
#Include "Fivewin.ch"

Static _Cnx_

// **********************[ JACGSOFT ]************************** //

Function Main()
Local _Fe1_,_Fe2_,_Cnx_,_Rds_,Arayx:={},_Imp_,_Tpr_,_Obs_

_Fe1_:=20220101
_Fe2_:=20220131


Connect_sql(@_Cnx_,'Usuario','Clave')

Get_sql_detalle(_Cnx_,@_Rds_,_Fe1_,_Fe2_)


Do While !_Rds_:Bof() .And. !_Rds_:Eof()

_Imp_:=_Rds_:Fields('Precio'):Value
_Tpr_:=_Rds_:Fields('Tipo'):Value
_Obs_:=_Rds_:Fields('Observa'):Value


Aadd(Arayx,{_Rds_:Fields('Documento'):Value, ;
_Rds_:Fields('Apellido'):Value, ;
_Rds_:Fields('Nombre'):Value, ;
_Rds_:Fields('_'):Value})

_Rds_:MoveNext()
Enddo

_Rds_:Close()
_Cnx_:Close()


Return(Nil)


// **********************[ JACGSOFT ]************************** //

Function Connect_Sql(_Cnx_,_Usu_,_Cla_)
Local _Cadena_,_Lg_:=.T.

_Cadena_:='Provider=sqloledb;Data Source=168.1.0.80;'+ ;
'Network Library=DBMSSOCN;'+ ;
'Initial Catalog=BD_PRUEBA;User Id='+_Usu_+ ;
';Password='+_Cla_+';'

_Cnx_:=Toleauto():New("ADODB.Connection")
_Cnx_:Open(_Cadena_)

Return(_Lg_)

// **********************[ JACGSOFT ]************************** //

Static Function Get_sql_detalle(_Cnx_,_Rds_,_Fe1_,_Fe2_)
Local _oCmd_,_oPar_

_oCmd_:=TOleAuto():New("ADODB.Command")
_oCmd_:ActiveConnection:=_Cnx_
_oCmd_:CommandType:=4
_oCmd_:CommandText:="dbo.PA_get_detalle"
_oCmd_:CommandTimeout:=0

_oPar_:=_oCmd_:CreateParameter("Fecini",3,1,8,_Fe1_)
_oCmd_:Parameters:Append(_oPar_)
_oPar_:=_oCmd_:CreateParameter("Fecfin",3,1,8,_Fe2_)
_oCmd_:Parameters:Append(_oPar_)

_Rds_:=_oCmd_:Execute()

Return(Nil)

// **********************[ JACGSOFT ]************************** //
User avatar
jacgsoft
 
Posts: 105
Joined: Fri Nov 24, 2006 9:03 pm
Location: Lima - Peru


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], Willi Quintana and 46 guests