Sentencias SQL y Transacciones

151 views
Skip to first unread message

IonLitio

unread,
Nov 10, 2015, 4:58:14 PM11/10/15
to COMUNIDAD VISUAL FOXPRO
Hola amigos.
Estoy teniendo un problema con un cliente, que noto demaciado pesado un formulario al trabajar en la red, y cada tanto tiempo me rompe la tabla (que reparo con CMRepair).
Por eso estoy haciendo una prueba, y en vez de abrir las tablas en el entorno de datos, las uso con sentencias sql (Insert, update, delete y select).
Tenia el problema que en una tabla que usa un codigo entero autoinc como indice y referencia con su respectivo detalle, no podía recuperar en valor de dicho autoinc hasta que encontre un comando llamado GETAUTOINCVALUE.
Pero todavia me queda el tema de que no se si se modificaron las tablas (uso tablas nativas, por el momento, la idea es migrarme a sql o similar, mas adelante.), o sea, si el comando GETAUTOINCVALUE me devuelve un valor, en teoría es porque se inserto correctamente, no? pero con las actualizaciones? como puedo hacer?

Tienen alguna otra sugerencia?

Desde ya muchas gracias.

Diego.

Malkasoft ADPI

unread,
Nov 10, 2015, 6:38:45 PM11/10/15
to comunidad-v...@googlegroups.com
Hola pienso que mejor debes migrar de base de datos las DBF no soportan muchos datos y menos trabajan bien en red a lo mejor con poco datos yo no puedo hablar mucho de las dbf ya que no he desarrollado sistema con dbf pero si con cualquier motor de base de datos y funciona mas que bien.... te dejo el link de mi canal para que veas algunas y a lo mejor te puede ayudar a migrar facilmente tu sistema a cualquier motor de base de datos.

lineas mas abajo encontraras el link de mi canal, saludos!!!

Atentamente,

 

  

 

Ing. Russvell Jesús Soto Gamarra

Asesor en Proyectos Informáticos

Tel.: +52 01 (427) 138-2578

Cel.: +52 (1427) 277-8917

San Juan del Río, Queretaro, México

Blog.: http://developervfp.blogspot.mx/

Canal YouTube: http://www.youtube.com/rycjesusrj 


--
Has recibido este mensaje porque estás suscrito al grupo "COMUNIDAD VISUAL FOXPRO" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a comunidad-visual-...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a comunidad-v...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/comunidad-visual-foxpro/eedd936d-f0fd-4b37-80ea-b152d203552c%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

IonLitio

unread,
Nov 11, 2015, 6:55:44 AM11/11/15
to COMUNIDAD VISUAL FOXPRO
Hola Ing.

Si si, se que tengo que migrar... pero tengo que salir del paso ahora...

Con un Try Catch.....si no graba por algun motivo x en alguna tabla en el try......vuelve atras todos los movimientos (por mas que grabe o actualice, insert o update)???? o tengo que usar transacción???

Saludos.

Ricardo Alfredo Huaman Suarez

unread,
Nov 11, 2015, 9:00:55 AM11/11/15
to comunidad-v...@googlegroups.com, sargento...@gmail.com
Buenas tardes

El Try no es para eso, esto sirve para controlar errores.

Lo que tu necesitas es usar transacciones.

Saludos
Ricardo

Date: Wed, 11 Nov 2015 03:55:44 -0800
From: sargento...@gmail.com
To: comunidad-v...@googlegroups.com
Subject: Re: Sentencias SQL y Transacciones
--
Has recibido este mensaje porque estás suscrito al grupo "COMUNIDAD VISUAL FOXPRO" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a comunidad-visual-...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a comunidad-v...@googlegroups.com.

Malkasoft ADPI

unread,
Nov 11, 2015, 12:03:25 PM11/11/15
to comunidad-v...@googlegroups.com
Correcto amigo necesita usar transacciones para que puedas revertir toda la operación que tienes dentro de ello, solo tienes que tener cuidado cuando abres tienes que cerrarlo porque sino tendrás problemas cuando necesitas abrir otro.

Atentamente,

 

  

 

Ing. Russvell Jesús Soto Gamarra

Asesor en Proyectos Informáticos

Tel.: +52 01 (427) 138-2578

Cel.: +52 (1427) 277-8917

San Juan del Río, Queretaro, México

Blog.: http://developervfp.blogspot.mx/

Canal YouTube: http://www.youtube.com/rycjesusrj 


IonLitio

unread,
Nov 11, 2015, 1:01:58 PM11/11/15
to COMUNIDAD VISUAL FOXPRO, sargento...@gmail.com
Hola Ricardo.
Yo uso transacciones pero cuando abro las tablas en el entorno de datos.
Ejemplo:
Select Facturas

begin transaction
if !tableupdate() = .f.
lSenial = .t.
endif
Select FacturasDetalle
if !tableupdate(1,.t.) = .f.
lSenial = .t.
endif
if lSenial = .f. then
end transaction
else
rollback
endif

Estoy cambiando eso para usarlas con sentencias SQL.
Ejemplo:

insert into Z:\datos\facturas (nombrecliente, fecha) values (cVariableNombre, dVariableFecha)
nCodigoFactura = GETAUTOINCVALUE(0)

insert into Z:\datos\facturas_detalle (codigo_factura, codproducto) values (nCodigoFactura , nVariableProducto)

Hasta aca bien...pero no tengo idea si te grabo todo bien o no......
Por eso quiero implementar las transacciones.....y como no habro las tablas con el entorno de datos ni con un USE.....no se como se puede usar las transacciones ....

Saludos.

Diego.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a comunidad-visual-foxpro+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages