Como ejecutar una transcion Cursor Adapter con ado y SPT

31/07/2004 - 02:25 por Mauricio Pulla B. | Informe spam
Hola

No tengo experiencia en CursorAdapter con Ado apuntando a Sql server
Revise el ejemplo de José G. Samper, sobre como trabajar en forma
desconectada con cursor adapter, ado y Ms SqlServe. excelente pero tengo
algunas dudas.

1) Se pueden compartir varios CA un mismo obejto Connection
Ej. Thisform.CA1.ActiveConnection = Thisform.oADOConnection
Thisform.CA2.ActiveConnection = Thisform.oADOConnection

2) Se puede compartir el objeto connection de varios CAs con SPT para
ejecutar una transaccion
Ej: nConnectionHandle = Thisform.oADOConnection &&Asumo que esto
me daria el manejador
SQLSETPROP(nConnectionHandle, "Transactions", 2)
llSuccess = TABLEUPDATE(.T., .F., CA1)
if llSuccess
llSuccess = TABLEUPDATE(.T., .F., CA2)
if llSuccess
llSuccess=SqlExec(nConnectionHandle, cSQLCommand) > 0
if llSuccess
SQLCOMMIT(nConnectionHandle)
return llSuccess
endif
endif
endif
=SQLROLLBACK(nConnectionHandle)
&&Detecto error
*-Si esta no es la forma de hacer una transccion de CAs con SPT con una
misma conneccion como hacerlo.

3) En caso de estar correcta la pregunta 2 seria correcto ejecutar el codigo
en un try cath

4) En el SP1 de VFP8.0 se corrgio el error que al hacer un Tableupdate()
siempre devolvia .T. pese a existir errores.

5) Cual seria la mejor estrategia para que la aplicacion corriera en una LAN
como en Una WAN tomando en cuenta que se trabajaria con W2000 Server, SQL
Server, CAs + Ado.

6) Cuando se tratara de una red WAN como cual seria la mejor forma de
conectar una sucursal distante con el servidor, y cual seria los equipos
requeridos.

Siempre e desarrollado aplicaciones para redes LAN y no tengo la menor idea
para que trabajen en una WAN..!

Saludos,
Mauricio Pulla.
Cuenca-Ecuador.

Preguntas similare

Leer las respuestas

#6 José G. Samper
07/08/2004 - 05:27 | Informe spam
Hola como estas, disculpa la tardanza estaba algo full, mas o menos seria
asi


try
Transcaccion
Obtener el siguiente Numero secuencial
TableUpdate(CA_Cabecera)
TableUpdate(CA_Detalle)
=Thisform.oADOConnection..Execute('update clientes saldo#423423')
xxx
xxx
Catch
lerror=.t.
finally
if lerror
rollback
else
EndTransction
endif
saludos
José G. Samper

"Mauricio Pulla B." escribió en el mensaje
news:%23%
Hola José
Me puedes dar una guia de como poder hacer este tipo de proceso.
Saludos.
Mauricio Pulla.
Cuenca-Ecuador

"Mauricio Pulla B." escribió en el mensaje
news:
> Hola José G.
> Gracias por tu tiempo.
>
> Necesito hacer una transaccion con Cursor Adapter (Ado apuntando SQL
Server
> 2000) ademas actualizar varias tablas.
> Ej. Facturación
> *Metodo Grabar
> Transcaccion
> Obtener el siguiente Numero secuencial
> TableUpdate(CA_Cabecera)
> TableUpdate(CA_Detalle)
> Actualizar items
> Actualizar saldo de cliente
> Actualizar numero secuencial
> EndTransction
> * Como realizo este proceso en una transaccion o en varias transacciones
> José si me puedes ayudar con un poco de codigo lo analizo y lo adapto o
mis
> necesidades
>
> W2000 Pro, VFP 8.0 SP1
> Saludos.
> Mauricio Pulla.
> Cuenca-Ecuador
>
> "José G. Samper" escribió en el mensaje
> news:
> > Hola como estas, exactamente que quieres hacer?.
> >
> > Saludos,
> >
> > José G. Samper
> > MCP 70-229/70-316
> >
> > "Mauricio Pulla B." escribió en el mensaje
> > news:%
> > > Gracias José.
> > > Esta seria la forma correcta.
> > > Thisform.oADOConnection.BeginTrans()
> > > Thisform.oADOConnection.RollbackTrans()
> > > Thisform.oADOConnection.CommitTrans()
> > >
> > > Como lo haria si es que necesito implementar SPT dentro de la
> transaccion
> > ?
> > >
> > > Vamos a ver que como me trata CA, ADO, SQL
> > >
> > >
> > > Nuevamente Gracias por tu ayuda.
> > > Saludos,
> > > Mauricio Pulla.
> > > Cuenca-Ecuador.
> > >
> > > "José G. Samper" escribió en el mensaje
> > > news:
> > > > Hola como estas,
> > > >
> > > > 1) Se pueden compartir varios CA un mismo obejto Connection
> > > > Ej. Thisform.CA1.ActiveConnection = Thisform.oADOConnection
> > > > Thisform.CA2.ActiveConnection = Thisform.oADOConnection
> > > >
> > > > Sip
> > > >
> > > >
> > > > 2) Se puede compartir el objeto connection de varios CAs con SPT
para
> > > > ejecutar una transaccion
> > > > Ej: nConnectionHandle = Thisform.oADOConnection


&&Asumo
> que
> > > > esto me daria el manejador
> > > > SQLSETPROP(nConnectionHandle, "Transactions", 2)
> > > > llSuccess = TABLEUPDATE(.T., .F., CA1)
> > > > if llSuccess
> > > > llSuccess = TABLEUPDATE(.T., .F., CA2)
> > > > if llSuccess
> > > > llSuccess=SqlExec(nConnectionHandle, cSQLCommand)

0
> > > > if llSuccess
> > > > SQLCOMMIT(nConnectionHandle)
> > > > return llSuccess
> > > > endif
> > > > endif
> > > > endif
> > > > =SQLROLLBACK(nConnectionHandle)
> > > > &&Detecto error
> > > > *-Si esta no es la forma de hacer una transccion de CAs con SPT
con
> > una
> > > > misma conneccion como hacerlo.
> > > >
> > > > Jamas lo he probado de esta forma, asi que realmente no te


puedo
> > decir
> > > si
> > > > funciona o no, cuando yo tuve que imprementar transacciones lo


hice
> > contra
> > > > la conexión, eje:
> > > > Thisform.oADOConnection.BeginTrans()
> > > > Thisform.oADOConnection.RollbackTrans()
> > > > Thisform.oADOConnection.CommitTrans()
> > > >
> > > > en en cuenta que debes estar en transacciones lo menos posible,


y
> solo
> > > > debes usar este sistema cuando vayas a actualizar mas de una tabla


o
> mas
> > > de
> > > > un registro y quieras reversar todo. Por que MS SQL es


transacional
> por
> > > > definición, o sea que si solo vas a actualizar una tabla y un
registro
> > el
> > > ya
> > > > abre una transacción
> > > >
> > > > 3) En caso de estar correcta la pregunta 2 seria correcto ejecutar


e
l
> > > codigo
> > > > en un try cath
> > > >
> > > > Sip
> > > >
> > > > 4) En el SP1 de VFP8.0 se corrgio el error que al hacer un
> > Tableupdate()
> > > > siempre devolvia .T. pese a existir errores.
> > > >
> > > > Nop, por lo menos a mi siempre me devuelve .T., lo trato de
> > solventar
> > > > haciendo un go(recno()) despues del tableupdate esto hace que al
> tratar
> > de
> > > > moverse dispare e excepcion
> > > >
> > > >
> > > >
> > > > José G. Samper
> > > >
> > > > "Mauricio Pulla B." escribió en el


mensaje
> > > > news:
> > > > > Hola
> > > > >
> > > > > No tengo experiencia en CursorAdapter con Ado apuntando a Sql
server
> > > > > Revise el ejemplo de José G. Samper, sobre como trabajar en


forma
> > > > > desconectada con cursor adapter, ado y Ms SqlServe. excelente


pero
> > tengo
> > > > > algunas dudas.
> > > > >
> > > > > 1) Se pueden compartir varios CA un mismo obejto Connection
> > > > > Ej. Thisform.CA1.ActiveConnection = Thisform.oADOConnection
> > > > > Thisform.CA2.ActiveConnection = Thisform.oADOConnection
> > > > >
> > > > > 2) Se puede compartir el objeto connection de varios CAs con SPT
> para
> > > > > ejecutar una transaccion
> > > > > Ej: nConnectionHandle = Thisform.oADOConnection
&&Asumo
> > que
> > > > esto
> > > > > me daria el manejador
> > > > > SQLSETPROP(nConnectionHandle, "Transactions", 2)
> > > > > llSuccess = TABLEUPDATE(.T., .F., CA1)
> > > > > if llSuccess
> > > > > llSuccess = TABLEUPDATE(.T., .F., CA2)
> > > > > if llSuccess
> > > > > llSuccess=SqlExec(nConnectionHandle,


cSQLCommand)
>
> 0
> > > > > if llSuccess
> > > > > SQLCOMMIT(nConnectionHandle)
> > > > > return llSuccess
> > > > > endif
> > > > > endif
> > > > > endif
> > > > > =SQLROLLBACK(nConnectionHandle)
> > > > > &&Detecto error
> > > > > *-Si esta no es la forma de hacer una transccion de CAs con


SPT
> con
> > > una
> > > > > misma conneccion como hacerlo.
> > > > >
> > > > > 3) En caso de estar correcta la pregunta 2 seria correcto


ejecutar
> el
> > > > codigo
> > > > > en un try cath
> > > > >
> > > > > 4) En el SP1 de VFP8.0 se corrgio el error que al hacer un
> > Tableupdate()
> > > > > siempre devolvia .T. pese a existir errores.
> > > > >
> > > > > 5) Cual seria la mejor estrategia para que la aplicacion


corriera
en
> > una
> > > > LAN
> > > > > como en Una WAN tomando en cuenta que se trabajaria con W2000
> Server,
> > > SQL
> > > > > Server, CAs + Ado.
> > > > >
> > > > > 6) Cuando se tratara de una red WAN como cual seria la mejor


forma
> de
> > > > > conectar una sucursal distante con el servidor, y cual seria los
> > equipos
> > > > > requeridos.
> > > > >
> > > > > Siempre e desarrollado aplicaciones para redes LAN y no tengo la
> menor
> > > > idea
> > > > > para que trabajen en una WAN..!
> > > > >
> > > > > Saludos,
> > > > > Mauricio Pulla.
> > > > > Cuenca-Ecuador.
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Mauricio Pulla B.
09/08/2004 - 15:22 | Informe spam
Gracias José.

Espero contar contigo, si tengo alguna duda.

Saludos.
Mauricio Pulla.
Cuenca-Ecuador

"José G. Samper" escribió en el mensaje
news:
Hola como estas, disculpa la tardanza estaba algo full, mas o menos seria
asi


try
Transcaccion
Obtener el siguiente Numero secuencial
TableUpdate(CA_Cabecera)
TableUpdate(CA_Detalle)
=Thisform.oADOConnection..Execute('update clientes


saldo#423423')
xxx
xxx
Catch
lerror=.t.
finally
if lerror
rollback
else
EndTransction
endif
saludos
José G. Samper

"Mauricio Pulla B." escribió en el mensaje
news:%23%
> Hola José
> Me puedes dar una guia de como poder hacer este tipo de proceso.
> Saludos.
> Mauricio Pulla.
> Cuenca-Ecuador
>
> "Mauricio Pulla B." escribió en el mensaje
> news:
> > Hola José G.
> > Gracias por tu tiempo.
> >
> > Necesito hacer una transaccion con Cursor Adapter (Ado apuntando SQL
> Server
> > 2000) ademas actualizar varias tablas.
> > Ej. Facturación
> > *Metodo Grabar
> > Transcaccion
> > Obtener el siguiente Numero secuencial
> > TableUpdate(CA_Cabecera)
> > TableUpdate(CA_Detalle)
> > Actualizar items
> > Actualizar saldo de cliente
> > Actualizar numero secuencial
> > EndTransction
> > * Como realizo este proceso en una transaccion o en varias


transacciones
> > José si me puedes ayudar con un poco de codigo lo analizo y lo adapto


o
> mis
> > necesidades
> >
> > W2000 Pro, VFP 8.0 SP1
> > Saludos.
> > Mauricio Pulla.
> > Cuenca-Ecuador
> >
> > "José G. Samper" escribió en el mensaje
> > news:
> > > Hola como estas, exactamente que quieres hacer?.
> > >
> > > Saludos,
> > >
> > > José G. Samper
> > > MCP 70-229/70-316
> > >
> > > "Mauricio Pulla B." escribió en el mensaje
> > > news:%
> > > > Gracias José.
> > > > Esta seria la forma correcta.
> > > > Thisform.oADOConnection.BeginTrans()
> > > > Thisform.oADOConnection.RollbackTrans()
> > > > Thisform.oADOConnection.CommitTrans()
> > > >
> > > > Como lo haria si es que necesito implementar SPT dentro de la
> > transaccion
> > > ?
> > > >
> > > > Vamos a ver que como me trata CA, ADO, SQL
> > > >
> > > >
> > > > Nuevamente Gracias por tu ayuda.
> > > > Saludos,
> > > > Mauricio Pulla.
> > > > Cuenca-Ecuador.
> > > >
> > > > "José G. Samper" escribió en el mensaje
> > > > news:
> > > > > Hola como estas,
> > > > >
> > > > > 1) Se pueden compartir varios CA un mismo obejto Connection
> > > > > Ej. Thisform.CA1.ActiveConnection = Thisform.oADOConnection
> > > > > Thisform.CA2.ActiveConnection Thisform.oADOConnection
> > > > >
> > > > > Sip
> > > > >
> > > > >
> > > > > 2) Se puede compartir el objeto connection de varios CAs con


SPT
> para
> > > > > ejecutar una transaccion
> > > > > Ej: nConnectionHandle = Thisform.oADOConnection
&&Asumo
> > que
> > > > > esto me daria el manejador
> > > > > SQLSETPROP(nConnectionHandle, "Transactions", 2)
> > > > > llSuccess = TABLEUPDATE(.T., .F., CA1)
> > > > > if llSuccess
> > > > > llSuccess = TABLEUPDATE(.T., .F., CA2)
> > > > > if llSuccess
> > > > > llSuccess=SqlExec(nConnectionHandle,


cSQLCommand)
>
> 0
> > > > > if llSuccess
> > > > > SQLCOMMIT(nConnectionHandle)
> > > > > return llSuccess
> > > > > endif
> > > > > endif
> > > > > endif
> > > > > =SQLROLLBACK(nConnectionHandle)
> > > > > &&Detecto error
> > > > > *-Si esta no es la forma de hacer una transccion de CAs con


SPT
> con
> > > una
> > > > > misma conneccion como hacerlo.
> > > > >
> > > > > Jamas lo he probado de esta forma, asi que realmente no te
puedo
> > > decir
> > > > si
> > > > > funciona o no, cuando yo tuve que imprementar transacciones lo
hice
> > > contra
> > > > > la conexión, eje:
> > > > > Thisform.oADOConnection.BeginTrans()
> > > > > Thisform.oADOConnection.RollbackTrans()
> > > > > Thisform.oADOConnection.CommitTrans()
> > > > >
> > > > > en en cuenta que debes estar en transacciones lo menos


posible,
y
> > solo
> > > > > debes usar este sistema cuando vayas a actualizar mas de una


tabla
o
> > mas
> > > > de
> > > > > un registro y quieras reversar todo. Por que MS SQL es
transacional
> > por
> > > > > definición, o sea que si solo vas a actualizar una tabla y un
> registro
> > > el
> > > > ya
> > > > > abre una transacción
> > > > >
> > > > > 3) En caso de estar correcta la pregunta 2 seria correcto


ejecutar
e
> l
> > > > codigo
> > > > > en un try cath
> > > > >
> > > > > Sip
> > > > >
> > > > > 4) En el SP1 de VFP8.0 se corrgio el error que al hacer un
> > > Tableupdate()
> > > > > siempre devolvia .T. pese a existir errores.
> > > > >
> > > > > Nop, por lo menos a mi siempre me devuelve .T., lo trato de
> > > solventar
> > > > > haciendo un go(recno()) despues del tableupdate esto hace que al
> > tratar
> > > de
> > > > > moverse dispare e excepcion
> > > > >
> > > > >
> > > > >
> > > > > José G. Samper
> > > > >
> > > > > "Mauricio Pulla B." escribió en el
mensaje
> > > > > news:
> > > > > > Hola
> > > > > >
> > > > > > No tengo experiencia en CursorAdapter con Ado apuntando a Sql
> server
> > > > > > Revise el ejemplo de José G. Samper, sobre como trabajar en
forma
> > > > > > desconectada con cursor adapter, ado y Ms SqlServe. excelente
pero
> > > tengo
> > > > > > algunas dudas.
> > > > > >
> > > > > > 1) Se pueden compartir varios CA un mismo obejto Connection
> > > > > > Ej. Thisform.CA1.ActiveConnection Thisform.oADOConnection
> > > > > > Thisform.CA2.ActiveConnection Thisform.oADOConnection
> > > > > >
> > > > > > 2) Se puede compartir el objeto connection de varios CAs con


SPT
> > para
> > > > > > ejecutar una transaccion
> > > > > > Ej: nConnectionHandle = Thisform.oADOConnection
> &&Asumo
> > > que
> > > > > esto
> > > > > > me daria el manejador
> > > > > > SQLSETPROP(nConnectionHandle, "Transactions", 2)
> > > > > > llSuccess = TABLEUPDATE(.T., .F., CA1)
> > > > > > if llSuccess
> > > > > > llSuccess = TABLEUPDATE(.T., .F., CA2)
> > > > > > if llSuccess
> > > > > > llSuccess=SqlExec(nConnectionHandle,
cSQLCommand)
> >
> > 0
> > > > > > if llSuccess
> > > > > > SQLCOMMIT(nConnectionHandle)
> > > > > > return llSuccess
> > > > > > endif
> > > > > > endif
> > > > > > endif
> > > > > > =SQLROLLBACK(nConnectionHandle)
> > > > > > &&Detecto error
> > > > > > *-Si esta no es la forma de hacer una transccion de CAs con
SPT
> > con
> > > > una
> > > > > > misma conneccion como hacerlo.
> > > > > >
> > > > > > 3) En caso de estar correcta la pregunta 2 seria correcto
ejecutar
> > el
> > > > > codigo
> > > > > > en un try cath
> > > > > >
> > > > > > 4) En el SP1 de VFP8.0 se corrgio el error que al hacer un
> > > Tableupdate()
> > > > > > siempre devolvia .T. pese a existir errores.
> > > > > >
> > > > > > 5) Cual seria la mejor estrategia para que la aplicacion
corriera
> en
> > > una
> > > > > LAN
> > > > > > como en Una WAN tomando en cuenta que se trabajaria con W2000
> > Server,
> > > > SQL
> > > > > > Server, CAs + Ado.
> > > > > >
> > > > > > 6) Cuando se tratara de una red WAN como cual seria la mejor
forma
> > de
> > > > > > conectar una sucursal distante con el servidor, y cual seria


los
> > > equipos
> > > > > > requeridos.
> > > > > >
> > > > > > Siempre e desarrollado aplicaciones para redes LAN y no tengo


la
> > menor
> > > > > idea
> > > > > > para que trabajen en una WAN..!
> > > > > >
> > > > > > Saludos,
> > > > > > Mauricio Pulla.
> > > > > > Cuenca-Ecuador.
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#8 José G. Samper
10/08/2004 - 05:17 | Informe spam
Siempre a la orden

Saludos
José G. Samper

"Mauricio Pulla B." escribió en el mensaje
news:eG$
Gracias José.

Espero contar contigo, si tengo alguna duda.

Saludos.
Mauricio Pulla.
Cuenca-Ecuador

"José G. Samper" escribió en el mensaje
news:
> Hola como estas, disculpa la tardanza estaba algo full, mas o menos


seria
> asi
>
>
> try
> Transcaccion
> Obtener el siguiente Numero secuencial
> TableUpdate(CA_Cabecera)
> TableUpdate(CA_Detalle)
> =Thisform.oADOConnection..Execute('update clientes
saldo#423423')
> xxx
> xxx
> Catch
> lerror=.t.
> finally
> if lerror
> rollback
> else
> EndTransction
> endif
> saludos
> José G. Samper
>
> "Mauricio Pulla B." escribió en el mensaje
> news:%23%
> > Hola José
> > Me puedes dar una guia de como poder hacer este tipo de proceso.
> > Saludos.
> > Mauricio Pulla.
> > Cuenca-Ecuador
> >
> > "Mauricio Pulla B." escribió en el mensaje
> > news:
> > > Hola José G.
> > > Gracias por tu tiempo.
> > >
> > > Necesito hacer una transaccion con Cursor Adapter (Ado apuntando SQL
> > Server
> > > 2000) ademas actualizar varias tablas.
> > > Ej. Facturación
> > > *Metodo Grabar
> > > Transcaccion
> > > Obtener el siguiente Numero secuencial
> > > TableUpdate(CA_Cabecera)
> > > TableUpdate(CA_Detalle)
> > > Actualizar items
> > > Actualizar saldo de cliente
> > > Actualizar numero secuencial
> > > EndTransction
> > > * Como realizo este proceso en una transaccion o en varias
transacciones
> > > José si me puedes ayudar con un poco de codigo lo analizo y lo


adapto
o
> > mis
> > > necesidades
> > >
> > > W2000 Pro, VFP 8.0 SP1
> > > Saludos.
> > > Mauricio Pulla.
> > > Cuenca-Ecuador
> > >
> > > "José G. Samper" escribió en el mensaje
> > > news:
> > > > Hola como estas, exactamente que quieres hacer?.
> > > >
> > > > Saludos,
> > > >
> > > > José G. Samper
> > > > MCP 70-229/70-316
> > > >
> > > > "Mauricio Pulla B." escribió en el


mensaje
> > > > news:%
> > > > > Gracias José.
> > > > > Esta seria la forma correcta.
> > > > > Thisform.oADOConnection.BeginTrans()
> > > > > Thisform.oADOConnection.RollbackTrans()
> > > > > Thisform.oADOConnection.CommitTrans()
> > > > >
> > > > > Como lo haria si es que necesito implementar SPT dentro de la
> > > transaccion
> > > > ?
> > > > >
> > > > > Vamos a ver que como me trata CA, ADO, SQL
> > > > >
> > > > >
> > > > > Nuevamente Gracias por tu ayuda.
> > > > > Saludos,
> > > > > Mauricio Pulla.
> > > > > Cuenca-Ecuador.
> > > > >
> > > > > "José G. Samper" escribió en el mensaje
> > > > > news:
> > > > > > Hola como estas,
> > > > > >
> > > > > > 1) Se pueden compartir varios CA un mismo obejto Connection
> > > > > > Ej. Thisform.CA1.ActiveConnection Thisform.oADOConnection
> > > > > > Thisform.CA2.ActiveConnection > Thisform.oADOConnection
> > > > > >
> > > > > > Sip
> > > > > >
> > > > > >
> > > > > > 2) Se puede compartir el objeto connection de varios CAs con
SPT
> > para
> > > > > > ejecutar una transaccion
> > > > > > Ej: nConnectionHandle = Thisform.oADOConnection
> &&Asumo
> > > que
> > > > > > esto me daria el manejador
> > > > > > SQLSETPROP(nConnectionHandle, "Transactions", 2)
> > > > > > llSuccess = TABLEUPDATE(.T., .F., CA1)
> > > > > > if llSuccess
> > > > > > llSuccess = TABLEUPDATE(.T., .F., CA2)
> > > > > > if llSuccess
> > > > > > llSuccess=SqlExec(nConnectionHandle,
cSQLCommand)
> >
> > 0
> > > > > > if llSuccess
> > > > > > SQLCOMMIT(nConnectionHandle)
> > > > > > return llSuccess
> > > > > > endif
> > > > > > endif
> > > > > > endif
> > > > > > =SQLROLLBACK(nConnectionHandle)
> > > > > > &&Detecto error
> > > > > > *-Si esta no es la forma de hacer una transccion de CAs con
SPT
> > con
> > > > una
> > > > > > misma conneccion como hacerlo.
> > > > > >
> > > > > > Jamas lo he probado de esta forma, asi que realmente no te
> puedo
> > > > decir
> > > > > si
> > > > > > funciona o no, cuando yo tuve que imprementar transacciones lo
> hice
> > > > contra
> > > > > > la conexión, eje:
> > > > > > Thisform.oADOConnection.BeginTrans()
> > > > > > Thisform.oADOConnection.RollbackTrans()
> > > > > > Thisform.oADOConnection.CommitTrans()
> > > > > >
> > > > > > en en cuenta que debes estar en transacciones lo menos
posible,
> y
> > > solo
> > > > > > debes usar este sistema cuando vayas a actualizar mas de una
tabla
> o
> > > mas
> > > > > de
> > > > > > un registro y quieras reversar todo. Por que MS SQL es
> transacional
> > > por
> > > > > > definición, o sea que si solo vas a actualizar una tabla y un
> > registro
> > > > el
> > > > > ya
> > > > > > abre una transacción
> > > > > >
> > > > > > 3) En caso de estar correcta la pregunta 2 seria correcto
ejecutar
> e
> > l
> > > > > codigo
> > > > > > en un try cath
> > > > > >
> > > > > > Sip
> > > > > >
> > > > > > 4) En el SP1 de VFP8.0 se corrgio el error que al hacer un
> > > > Tableupdate()
> > > > > > siempre devolvia .T. pese a existir errores.
> > > > > >
> > > > > > Nop, por lo menos a mi siempre me devuelve .T., lo trato


de
> > > > solventar
> > > > > > haciendo un go(recno()) despues del tableupdate esto hace que


al
> > > tratar
> > > > de
> > > > > > moverse dispare e excepcion
> > > > > >
> > > > > >
> > > > > >
> > > > > > José G. Samper
> > > > > >
> > > > > > "Mauricio Pulla B." escribió en el
> mensaje
> > > > > > news:
> > > > > > > Hola
> > > > > > >
> > > > > > > No tengo experiencia en CursorAdapter con Ado apuntando a


Sql
> > server
> > > > > > > Revise el ejemplo de José G. Samper, sobre como trabajar en
> forma
> > > > > > > desconectada con cursor adapter, ado y Ms SqlServe.


excelente
> pero
> > > > tengo
> > > > > > > algunas dudas.
> > > > > > >
> > > > > > > 1) Se pueden compartir varios CA un mismo obejto Connection
> > > > > > > Ej. Thisform.CA1.ActiveConnection > Thisform.oADOConnection
> > > > > > > Thisform.CA2.ActiveConnection > Thisform.oADOConnection
> > > > > > >
> > > > > > > 2) Se puede compartir el objeto connection de varios CAs con
SPT
> > > para
> > > > > > > ejecutar una transaccion
> > > > > > > Ej: nConnectionHandle = Thisform.oADOConnection
> > &&Asumo
> > > > que
> > > > > > esto
> > > > > > > me daria el manejador
> > > > > > > SQLSETPROP(nConnectionHandle, "Transactions", 2)
> > > > > > > llSuccess = TABLEUPDATE(.T., .F., CA1)
> > > > > > > if llSuccess
> > > > > > > llSuccess = TABLEUPDATE(.T., .F., CA2)
> > > > > > > if llSuccess
> > > > > > > llSuccess=SqlExec(nConnectionHandle,
> cSQLCommand)
> > >
> > > 0
> > > > > > > if llSuccess
> > > > > > > SQLCOMMIT(nConnectionHandle)
> > > > > > > return llSuccess
> > > > > > > endif
> > > > > > > endif
> > > > > > > endif
> > > > > > > =SQLROLLBACK(nConnectionHandle)
> > > > > > > &&Detecto error
> > > > > > > *-Si esta no es la forma de hacer una transccion de CAs


con
> SPT
> > > con
> > > > > una
> > > > > > > misma conneccion como hacerlo.
> > > > > > >
> > > > > > > 3) En caso de estar correcta la pregunta 2 seria correcto
> ejecutar
> > > el
> > > > > > codigo
> > > > > > > en un try cath
> > > > > > >
> > > > > > > 4) En el SP1 de VFP8.0 se corrgio el error que al hacer un
> > > > Tableupdate()
> > > > > > > siempre devolvia .T. pese a existir errores.
> > > > > > >
> > > > > > > 5) Cual seria la mejor estrategia para que la aplicacion
> corriera
> > en
> > > > una
> > > > > > LAN
> > > > > > > como en Una WAN tomando en cuenta que se trabajaria con


W2000
> > > Server,
> > > > > SQL
> > > > > > > Server, CAs + Ado.
> > > > > > >
> > > > > > > 6) Cuando se tratara de una red WAN como cual seria la mejor
> forma
> > > de
> > > > > > > conectar una sucursal distante con el servidor, y cual seria
los
> > > > equipos
> > > > > > > requeridos.
> > > > > > >
> > > > > > > Siempre e desarrollado aplicaciones para redes LAN y no


tengo
la
> > > menor
> > > > > > idea
> > > > > > > para que trabajen en una WAN..!
> > > > > > >
> > > > > > > Saludos,
> > > > > > > Mauricio Pulla.
> > > > > > > Cuenca-Ecuador.
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida