Entrar
¿Usuario nuevo? Regístrate
eagle1 · Eagle1 usuarios
? ¿Ya estás suscrito? Entrar en Yahoo!

Consejos de Yahoo! Grupos

¿Sabías que...?
Puedes determinar el orden de los mensajes. Pulsa el enlace en la columna correspondiente a la fecha. Tus preferencias serán guardadas y no tendrás que introducirlas de nuevo.

Mensajes

  Mensajes Ayuda
Avanzado
Problemas de lectura de valor conEagle   Lista de mensajes  
Responder | Reenviar Mensaje #1525 de 1683 |
Hola Manu..
despues de tiempo te molesto

resulta que tengo problemas de lectura luego de grabar un dato,
sucede algo asi :

1. Leo un campo de una tabla ctsec (numerico) es un contador

2. Luego le agrego el valor + 1 y lo grabo ...

3. Al leerlo, sigue con el mismo valor anterior, pese a que si
paralelamente lo veo por un programa externo para leer la tabla
SQLYog , el valor si ha sido grabado correctamente.

4. lo curioso es q si salgo del modulo y vuelvo al mismo modulo sin
salir del programa.. lo lee bien

Aqui parte del codigo...

**********************************************

LOCAL xTotal:=0
LOCAL oTabla
LOCAL oCmd:=TMSCommand():New( oCon )
LOCAL xCmd:=""

IF xValue = nil
xValue=1 && Asumimos un contador 1
ENDIF
*Creamos la Condicion SQL para leer el valor actual
xCmd := "select * from "+ cNmTabla +" where " + xcId +" = " + str
(xnID,12,0)
oTabla := TMSQuery():New( oCon,xCmd) // ejecutamos el query
IF .not. oTabla:Open() // abrimos la data en un
cursor con la Condicion cWhere
FSG_ERROR("SQL_IDACUMULA","No se pudo consultar nuevo valor
acumulado segun Cmd:>>> "+xCmd+" <<< Tome Nota e Informe al
Supervisor!!!")
RETURN 0
ELSE
oTabla:GoTop() // reubicar al inicio de
la tabla
ENDIF
IF oTabla:RecCount()=1 && Nro de Registros
xtotal=LeeCampo(oTabla,xCampo)
ELSE
FSG_ERROR("SQL_IDACUMULA","Se trato de leer el valor actual y no
se encontro registro Id segun Cmd:>>> "+xCmd+" <<< Tome Nota e
Informe al Supervisor!!!")
ENDIF

msginfo("leemos el campo "+xcampo+" ="+str(xtotal,10,0) )
xtotal=xtotal+xvalue
msginfo("le sumamos 1 al campo "+xcampo+" ="+str(xtotal,10,0) )

xCmd := "update "+ cNmTabla +" set "+ xCampo + " = " + ALLTRIM(str
(xtotal,12,0))+ " where " + xcId +" = " +ALLTRIM(str(xnID,12,0))
msginfo(xCmd)
IF .NOT. oCmd:ExecDirect( xCmd )
FSG_ERROR("SQL_IDACUMULA","No se pudo acumular el valor segun
Cmd:>>> "+xCmd+" <<< Tome Nota e Informe al Supervisor!!!")
return 0
ENDIF

oTabla:refresh()
xtotal=LeeCampo(oTabla,xCampo)
msginfo("despues del refres "+str(xtotal,5,0))







Lun, 29 de Sep, 2008 6:53 am

lubsys
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje

Reenviar Mensaje #1525 de 1683 |
Desplegar mensajes Autor Ordenar por fecha

Hola Manu.. despues de tiempo te molesto resulta que tengo problemas de lectura luego de grabar un dato, sucede algo asi : 1. Leo un campo de una tabla ctsec...
lubsys
Sin conexión Enviar mensaje
29 de Sep, 2008
6:53 am

Hola Vladimir me alegra de verte por aquí :-) Yo he estado un poco fuera de onda durante un tiempo pero ya estoy aquí así que no te cortes y pregunta cuanto...
Manu
loloexpo
Sin conexión Enviar mensaje
29 de Sep, 2008
10:39 pm
Avanzado

Copyright © 2009 Yahoo! Todos los derechos reservados.
Política de Privacidad Actualizada - Condiciones del servicio - Directrices - Ayuda