Update

19/02/2004 - 15:58 por Sonia | Informe spam
Hola!!!

Estoy desarrollando una página web que me inserta registros en una tabla.
Una vez insertado el registro me tiene que modificar un campo y ponerle el
valor de la clave que es autonumerica. Mi problema es que se puede dar el
caso de que dos personas inserten un registro en la tabla al mismo tiempo,
si esto ocurre como puedo saber cual es el registro que he insertado yo.
Pensé también en que podía comparar todos los campos con los del registro
que he insertado pero si se da la remota casualidad de que los datos que yo
he insertado son exactos a los que ha insertado la otra persona como
diferencio.

Espero haberme explicado.

Gracias por vuestra ayuda y saludos!!!

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
19/02/2004 - 16:10 | Informe spam
Hola,!! te explicas lo mas bien

Solucion:

1) armas un Store que traiga de una tabla el next values
por ej yo en una tabla tengo la estructura siguiente:

Tabla_name,campo,valor

aca pones las tablas que deben tener autonumeracion como por ej Facturas
etc, y sus recpectivos campos

Bien, en el Store lo primero que haces es hacer un Selectt a esta tabla
bloquiando el registro, haces el insert blabla y el commit (todo en una
transaccion)

Por lo cual si otro usuario quiere hacer lo mismo como el registro de esa
tabla esta bloquiado debera esperar a que se desbloquee y listo, problema
resuelto ;)



Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Sonia" escribió en el mensaje
news:%
Hola!!!

Estoy desarrollando una página web que me inserta registros en una tabla.
Una vez insertado el registro me tiene que modificar un campo y ponerle el
valor de la clave que es autonumerica. Mi problema es que se puede dar el
caso de que dos personas inserten un registro en la tabla al mismo tiempo,
si esto ocurre como puedo saber cual es el registro que he insertado yo.
Pensé también en que podía comparar todos los campos con los del registro
que he insertado pero si se da la remota casualidad de que los datos que


yo
he insertado son exactos a los que ha insertado la otra persona como
diferencio.

Espero haberme explicado.

Gracias por vuestra ayuda y saludos!!!







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.581 / Virus Database: 368 - Release Date: 09/02/2004
Respuesta Responder a este mensaje
#2 Sonia
19/02/2004 - 16:58 | Informe spam
Gracias por tu ayuda!!!

Mi pregunta ahora es: como me traigo el next value??? Porque al ser
autonumerico yo no se si el siguiente valor de 18 es el 19 o de echo ya se
habia creado y eliminado y entonces el valor que me va a devolver es el 20.

Gracias de nuevo y saludos!!!!
Respuesta Responder a este mensaje
#3 Maximiliano D. A.
19/02/2004 - 17:15 | Informe spam
Hola, vos el next lo tenes guardado en la tabla si? si la transaccion sale
bien a esa tabla le sumas 1 y listo!!! el proximo que quiera leer lo hara
con eso ya modificado!! me explico?

lastima que aca no tengo un ejemplo pero dejame el transcurso del dia y te
paso uno y vas a ver que simple es ;-)


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Sonia" escribió en el mensaje
news:
Gracias por tu ayuda!!!

Mi pregunta ahora es: como me traigo el next value??? Porque al ser
autonumerico yo no se si el siguiente valor de 18 es el 19 o de echo ya se
habia creado y eliminado y entonces el valor que me va a devolver es el


20.

Gracias de nuevo y saludos!!!!







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.581 / Virus Database: 368 - Release Date: 09/02/2004
Respuesta Responder a este mensaje
#4 ulises
19/02/2004 - 17:24 | Informe spam
A lo dicho por Maxi, solo incorpora el SELECT
SCOPE_IDENTITY() para obtener el autonúmerico que has
usado para actualizar tu tabla, revisa la documentación en
el BOL.

Saludos,
Ulises

Gracias por tu ayuda!!!

Mi pregunta ahora es: como me traigo el next value???


Porque al ser
autonumerico yo no se si el siguiente valor de 18 es el


19 o de echo ya se
habia creado y eliminado y entonces el valor que me va a


devolver es el 20.

Gracias de nuevo y saludos!!!!
Respuesta Responder a este mensaje
#5 Maximiliano D. A.
19/02/2004 - 22:06 | Informe spam
aca te mando un ejemplo si?

DECLARE @Numerito int

BEGIN TRAN

UPDATE Tablanumeradora
SET @Numero = ProximoNumero,
ProximoNumero = ProximoNumero + 1
WHERE NombreTabla = 'Tabla'

INSERT tutabladefacturas por ej (Numero,blabla) VALUES (@Numerito,'maxi')
...

COMMIT TRAN

aca podrias tener otros campos de sufijos y prefijos sin problema alguno


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Sonia" escribió en el mensaje
news:
Gracias por tu ayuda!!!

Mi pregunta ahora es: como me traigo el next value??? Porque al ser
autonumerico yo no se si el siguiente valor de 18 es el 19 o de echo ya se
habia creado y eliminado y entonces el valor que me va a devolver es el


20.

Gracias de nuevo y saludos!!!!







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.581 / Virus Database: 368 - Release Date: 09/02/2004
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida