Para retomar los datos de un registro de la tabla me vino bien el queryarray, pero para devolverlo con cierto formato y no renegar con el orden de los elementos mezclamos el queryarray con los hash y salio esto QueryHash()
//-------------------------------------------------
METHOD QH( cSelect ) CLASS Sql
//-------------------------------------------------
local aDatos, i, aCabeceras, hArray := Hash()
::LimpiarError()
IF empty(cSelect)
::CargarError("Falta el comando SQL a ejecutar")
RETURN {}
ENDIF
aDatos := AppData:oOdbcDS:QueryArray( cSelect, @aCabeceras )
IF len(aDatos)>0
for i = 1 to len(aCabeceras)
hArray[aCabeceras] := aDatos[1,i]
next
ENDIF
RETURN hArray
Te devuelve un arrayHash y su uso es menos peligroso que el array común, accedo a los datos por el mismo nombre del campo y no por la orden que ocupa en el array por ejemplo:
//-------------------------------------------------
METHOD DevolverPorID( ID ) CLASS TiposArticulo
//-------------------------------------------------
local ret , hArray:=AppData:oSql:QH( "select descripcion, codigo, from TiposArticulo where IDTipoArticulo="+str(ID) )
IF Len(hArray) > 0
::IDTipoArticulo := ID
::Descripcion := hArray["descripcion"]
::Codigo := hArray["codigo"]
ret := .T.
Else
::New()
AppData:oSql:cError:="El registro que intenta modificar ya no existe en la base de datos."
EndIf
RETURN ret
Atte. Carlos Ortiz.
Assist Informática
--
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Me hizo falta y salio esto -> QueryHash()
- Carlos Ortiz
- Mensajes: 873
- Registrado: Mié Jul 01, 2009 5:44 pm
- Ubicación: Argentina - Córdoba
- Contactar: