Urgente!!! Error despues de INSERT-Sql

21/10/2005 - 16:25 por sergio | Informe spam
Estimados, tengo el sig. problema:

Me comunico a la DB de VFP8 por DNS (si ya sé no es adecuado) creando una
conexión en el init de la forma:

this.conex=sqlconnect("miconex")

Luego de grabar datos con:

lTx="Insert into mitabla (campo1,campo2) values (?lcam1,?lcam2)"
=sqlexec(this.conex,m.lTx)

Tengo una grid ligada a micursor donde muestro los datos de mitabla, por
lo tanto quiero actualizarla con los cambios hechos...

lTx="Select * from mitabla"
=sqlexec(this.conex,m.lTx,"micursor")

y entonces...el error, que dice algo así:

"la tabla mitabla posee uncommited changes" (pero todo en ingles)

Pensaba que faltaba una confirmación de volcado de datos en el disco, por
ello agreguè un sqlcommit, por lo que tuve que hacer:

=sqlsetprop(mi.conex,"transactions",2)
lTx="Insert into mitabla (campo1,campo2) values (?lcam1,?lcam2)"
=sqlexec(this.conex,m.lTx)
if sqlcommit(this.conex)>0
wait window "que bueno...se grabaron los datos"
else
wait window "error grabando..."
endif

pero al intentar mostrar los datosel tedioso mensajito.

Que falta? Donde está el error?

Sergio


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
 

Leer las respuestas

#1 Esparta Palma
21/10/2005 - 20:56 | Informe spam
Que falta? Donde está el error?



Dinoslo tu, cada vez que ejecutas una función de SPT deberías revisar
por el valor regresado, en el caso de SQLExec() devuelve un valor menor
que cero si hubo algún error, si es así entonces deberías usar AERROR()
para saber que es lo que pasa.

Uso de AERROR() para errores ODBC
http://www.panoramabox.com/GoPub.aspx?IdObj!81

Espero te sirva.

¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
México D.F.
MoBlogs!
http://weblogs.golemproject.com/esparta/
http://www.espartha.com/blog/

sergio wrote:
Estimados, tengo el sig. problema:

Me comunico a la DB de VFP8 por DNS (si ya sé no es adecuado) creando una
conexión en el init de la forma:

this.conex=sqlconnect("miconex")

Luego de grabar datos con:

lTx="Insert into mitabla (campo1,campo2) values (?lcam1,?lcam2)"
=sqlexec(this.conex,m.lTx)

Tengo una grid ligada a micursor donde muestro los datos de mitabla, por
lo tanto quiero actualizarla con los cambios hechos...

lTx="Select * from mitabla"
=sqlexec(this.conex,m.lTx,"micursor")

y entonces...el error, que dice algo así:

"la tabla mitabla posee uncommited changes" (pero todo en ingles)

Pensaba que faltaba una confirmación de volcado de datos en el disco, por
ello agreguè un sqlcommit, por lo que tuve que hacer:

=sqlsetprop(mi.conex,"transactions",2)
lTx="Insert into mitabla (campo1,campo2) values (?lcam1,?lcam2)"
=sqlexec(this.conex,m.lTx)
if sqlcommit(this.conex)>0
wait window "que bueno...se grabaron los datos"
else
wait window "error grabando..."
endif

pero al intentar mostrar los datosel tedioso mensajito.

Que falta? Donde está el error?

Sergio


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similares