Página 1 de 1

Otra de Twebdatsource

Publicado: Mar May 27, 2014 8:30 am
por PEDRO DE LEON RODAS[3]
Saludos a todos.
Necesito obtener el resultado de una consulta, en este caso quiero saber
cuanto tengo de existencia de un producto antes de actualizar las
existencias.
Con TMariadbSource lo hago de esta manera:
Local nExistencia
::mi_dataset:cSelect="select EXISTENCIA_ACTUAL from productos where
codigo='"+::Codigo:Value+"' ")
::mi_dataset:Open()
nExistencia=::mi_dataset:EXISTENCIA_ACTUAL
Msginfo(Existencia)
::mi_dataset:EDit()
::mi_dataset:existencia_actual=::mi_dataset:existencia_actua l+1
::mi_dataset:Update()
Ahora en TWebDatasource pretendo hacerlo asi:
Local var_array := {},adata
En la siguiente linea, consulto y actualizo las existencias.
AppData:Base:BulkExecute( {"select EXISTENCIA_ACTUAL from productos where
codigo='"+::Codigo:Value+"' ",,@adata } ,{"update productos set
EXISTENCIA_ACTUAL=EXISTENCIA_ACTUAL+1 where
tienda='"+AppData:Nombre_tienda+"' and codigo='"+::Codigo:Value+"' "} )
Aadd( var_array, adata[1][1] )
Msginfo("Existencia actual antes de actualizar: "+Str(var_array)
Pero no funciona, me manda unos errores al hacer el BulkExecute.
Gracias por sus ayudas.
Saludos.

Otra de Twebdatsource

Publicado: Mar May 27, 2014 11:13 am
por ignacio
Buenos dí­as,
No tiene mucho sentido incluir una instrucción SELECT para consumo de la aplicación de una operación BulkExecute y además el paso de parámetros que esta haciendo de @adata no es válido con BulkExecute
TEXT INTO cSql1
select EXISTENCIA_ACTUAL from productos where codigo = ?
ENDTEXT
TEXT INTO cSql2
update productos set XISTENCIA_ACTUAL=EXISTENCIA_ACTUAL+1
where tienda= ? and codigo= ?
ENDTEXT
WITH OBJECT oWebDS
nExi := :QueryValue( :BuildSqlSt( cSql1, ::Codigo:Value ), 0 )
:Execute( :BuildSqlSt( cSql2, AppData:Nombre_tienda, ::Codigo:Value ) )
END WITH
Msginfo("Existencia actual antes de actualizar: "+Str( nExi )
Un saludo