FoxPro/Visual FoxPro - Bloquear Registro SQL Server

 
Vista:

Bloquear Registro SQL Server

Publicado por Diego (23 intervenciones) el 06/07/2006 13:17:41
Hola a todos, que tal
como se puede bloquear un registro de una tabla en SQL Server ?. Es para una aplicacion de VFP 9.0 con SQL server 2000. Necesito que si un usuario abre una pantalla con un registro para modificarlo, no pueda otro usuario abrir el mismo registro para modificar, ya que se sobreecribirian los datos quizas.
O si me pueden explicar una forma de impedir que un usuario pise los datos del registro que esta modificando otro usuario al mismo tiempo, sin tener que bloquear de forma pesimista el registro, me vendria mejor.

Muchas Gracias

Diego
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Bloquear Registro SQL Server

Publicado por Carlos Ayala G (169 intervenciones) el 06/07/2006 16:54:06
Hola amigo

Tu pregusta esta bien complicada y no creo que haya forma que se pueda realizar el proquedo de registros entre usuarios que cada usuario del sistema genera su propio entorno y por endes en accso de datos es individual pero se creo que se podria hacer atrabes de un campo en cual agreges a tu tabla por decir EDITADO y le pones un valor logico de tal manera que cuando ESTADO=.T:
quiere decir que esta ciendo modificado por algun usuario y cuando cambie a .F. los demas puedan accsar, pero obiamente esto implicarioa que modifiques tus consultas y trabajes con esta campo.

Claro este campo cambiaria de valor constantemente de .F. a .T. segun sea el caso... bueno almenos es una salida que te puedo dar.

Pero si descubreas alguna otra forma te gradeseria que la compartas Gracias y suerte -......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Bloquear Registro SQL Server

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/07/2006 17:18:25
Utiliza el RLOCK() y tambien dale una checadita al UNLOCK() para desbloquear un registro


Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bloquear Registro SQL Server

Publicado por JorgeE (423 intervenciones) el 06/07/2006 17:35:23
hola amigos, estoy de acuerdo con carlos en sql es algo dificil bloquear los registros, talves se pueda no lo se, he trabajado con sql y no he visto la forma de hacerlo ni con VFP, VB6, o .net....
talves utilizando tecnicas de programacion puedas hacer algo al respecto, es buena la idea de nuestro amigo carlos, es cuestion de practicarla.

Ernesto con todo respeto... creo qe tu ayuda esta mal enfocada rlock y unlock son para tablas nativas de vfp, no para sql...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Bloquear Registro SQL Server

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/07/2006 17:48:38
Estoy de acuerdo contigo Jorge. tienes razon eso pasa por leer muy rapido.

Disculpas mil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Bloquear Registro SQL Server

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/07/2006 19:19:13
Sabemos que todos los servidores de SQL (inclusive MS SQL 2000) no tiene LOCK, FLOCK, y RLOCK. ¿Usted puede preguntar por qué? ¡Por que todos los bloqueo es realizado automáticamente! ¿Cómo y cuándo? Sucede durante el proceso de la transacción. Durante una transacción SQL necesita cerrar completamente y automáticamente registros y tablas, las alarmas (y previene) posibles conflictos de comparticion de registros.
Es bueno por una parte. Nosotros no necesitamos preocuparnos por estas cosas. Todos trabajos acerca de cerrar y bloquear son responsabilidades del server. Por otra parte, parece que no tenemos flexibilidad de FoxPro. Malas noticias? No. No piense acerca de la transacción como la operación pesada.

BEGIN TRANSACTION – Instruimos al servidor para prepararse…
* Hacemos movimientos con los datos. En este momento los registros y las tablas se bloquean por el mismo server

* Automaticamente! Si el servidor detecta conflictos al compartir, entonces la transaccion falla
* Los datos se regresan autmaticamente!
END TRANSACTION Si llegamos aqui todo bien !

La mejor forma de usar un servidor de transacciones SQL desde VFP es pasando por SQL. Tambien puedes utilzar Stored Procedures


Tambien puedes leer acerca de :
SQLSETprop() -
SQLGETPROP() -
CursorSETPROP() - Creo que con este puedes logralo
CURSORGETPROP() -
tableUpdate() -
TableRevert() -

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bloquear Registro SQL Server

Publicado por JorgeE (423 intervenciones) el 06/07/2006 19:59:49
Ernesto tienes razon, acabo de leer un poco acerca de y SQL es quien se encarga de hacer toda esa "talacha"... no cabe duda, los manuales instruyen,
Amigos les recomiendo algo... LOS MEJORES MANUALES ESTAN EN INGLES---

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Bloquear Registro SQL Server

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/07/2006 21:08:43
Asi es Jorge los manuales instruyen pero no necesariamente los mejores manuales estan en Ingles .

Aqui te envio algunos enlaces donde puedes encontrar bueno, bonito y barato diriamos aqui en Mexico.

http://www.mygnet.com/manuales/
http://www.linkses.com/manuales/index.asp?cat=SQL
http://www.desarrolloweb.com/manuales/9/
http://www.solorecursos.com/sql.htm
http://www.infomanuales.com/Manuales/SQL/SQL.asp
http://www.best-developer.info/manual-de-sql-y-developer.html
http://www.planetalia.com/detalle-curso/manuales/sql-92/94scPedeyL20NvAAlIgQ24
http://www.manualesgratis.com/manuales/cat.asp?id=9

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Bloquear Registro SQL Server

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/07/2006 21:08:43
Asi es Jorge los manuales instruyen pero no necesariamente los mejores manuales estan en Ingles .

Aqui te envio algunos enlaces donde puedes encontrar bueno, bonito y barato diriamos aqui en Mexico.

http://www.mygnet.com/manuales/
http://www.linkses.com/manuales/index.asp?cat=SQL
http://www.desarrolloweb.com/manuales/9/
http://www.solorecursos.com/sql.htm
http://www.infomanuales.com/Manuales/SQL/SQL.asp
http://www.best-developer.info/manual-de-sql-y-developer.html
http://www.planetalia.com/detalle-curso/manuales/sql-92/94scPedeyL20NvAAlIgQ24
http://www.manualesgratis.com/manuales/cat.asp?id=9

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bloquear Registro SQL Server

Publicado por Carlos Ayala G (169 intervenciones) el 06/07/2006 21:54:25
Hola Muchachos ya tranquilos

Es sierto no los mejos libres o manuales estan en un idioma o otro lo mejor es la EXPERIENCIA es ahi donde se aprende ustedes que creen

Y esto se aplica para todo jjjjaajajjaja cuidence .... Y VIVA EL PERU aunque no hallamos ido al mundial jajajajaj chaufa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Bloquear Registro SQL Server

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/07/2006 23:15:42
"Estas en lo cierto chaparron" diria chespirito

Y VIVA el maravilloso Zorro

:-)

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar