Ultimo registro de un usuario

22/11/2004 - 21:10 por Salvador | Informe spam
Compañeros

Necesito recuperar el número de clave del registro que
estoy agregando en una base de datos en SQL Server.
Varios usuarios pueden estar agregando información al
mismo tiempo.

Para esto en el registro deposito un campo de fecha con
dia, mes, año, hora, minuto y segundo.

Y trato de hacer lo siguiente.

a = day(vfchahora)
b = month(vfchahora)
c = year(vfchahora)
a1 = hour(vfchahora)
b1 = minute(vfchahora)
c1 = second(vfchahora)

sSQL = "select clave from 2004 where "
sSQL = sSQL & "DAY(fchahora) = " & "'" & a & "'"
sSQL = sSQL & " AND MONTH(fchahora) = " & "'" & b & "'"
sSQL = sSQL & " AND YEAR(fchahora) = " & "'" & c & "'"
sSQL = sSQL & " AND HOUR(fchahora) = " & "'" & a1 & "'"
sSQL = sSQL & " AND MINUTE(fchahora) = " & "'" & b1 & "'"
sSQL = sSQL & " AND SECOND(fchahora) = " & "'" & c1 & "'"


En microsoft access ya habia utilizado esta función pero
en SQL Server me marca error en la HOUR, MINUTE, SECOND.

Como puedo hacer para recuperar el registro que agrego
cada usuario.

Espero haberme dado a entender

Gracias y Saludos

Preguntas similare

Leer las respuestas

#1 Matias Iacono
22/11/2004 - 21:44 | Informe spam
Hay varias maneras, pero primero, ten cuidado con los nombres de los campos,
ya que algunos pueden ser palabras reservadas para SQL Server.

Por otro lado, dentro de las formas como puedes hacerlo estan:

Application.lock y application.unlock

Esta sintaxis la usas en tu pagina, al momento de hacer toda tu consulta,
tanto la insercion, como la recuperacion. Esto hara que al momento de
disparar el lock, cualquier usuario de tu sitio que quiera pasar por ese
lugar, debera esperar que el usuario anterior pase por el unlock. De esta
menera te aseguras de que ningun usuario pueda insertar registros al mismo
tiempo, y si haces una simple seleccion del ultimo registro insertado, este
sera el registro que necesitas.
Claro esta que, para ello, no deberias insertar registros desde algun otro
lado que no pase por el lock o el unlock.

Otro metodo, es crear un cambio GUID dentro de tu tabla, y cuando insertas,
le pasas a este campo el valor que quieras, como el GUID es unico, entonces,
al hacer una consulta donde incluyas este GUID te retornara el registro
relacionado a este. Claro esta, este deberia ser el ultimo insertado por ese
usuario.
La ventaja de este es que, no importa cuantos usuarios inserten al mismo
tiempo, ya que, al momento de seleccionar los registros, solo te retornara
el relacionado al GUID del usurio que inserto ese registro en tu tabla.

Y por ultimo, al usar SQL Server, puedes usar SPs (Procedimietnos
almacenados), los cuales tienen una variable @identity que te retorna el
valor del insertado en ese momento.

Saludos,

Matias Iacono
Microsoft MVP



"Salvador" wrote in message
news:865701c4d0cf$50905360$
Compañeros

Necesito recuperar el número de clave del registro que
estoy agregando en una base de datos en SQL Server.
Varios usuarios pueden estar agregando información al
mismo tiempo.

Para esto en el registro deposito un campo de fecha con
dia, mes, año, hora, minuto y segundo.

Y trato de hacer lo siguiente.

a = day(vfchahora)
b = month(vfchahora)
c = year(vfchahora)
a1 = hour(vfchahora)
b1 = minute(vfchahora)
c1 = second(vfchahora)

sSQL = "select clave from 2004 where "
sSQL = sSQL & "DAY(fchahora) = " & "'" & a & "'"
sSQL = sSQL & " AND MONTH(fchahora) = " & "'" & b & "'"
sSQL = sSQL & " AND YEAR(fchahora) = " & "'" & c & "'"
sSQL = sSQL & " AND HOUR(fchahora) = " & "'" & a1 & "'"
sSQL = sSQL & " AND MINUTE(fchahora) = " & "'" & b1 & "'"
sSQL = sSQL & " AND SECOND(fchahora) = " & "'" & c1 & "'"


En microsoft access ya habia utilizado esta función pero
en SQL Server me marca error en la HOUR, MINUTE, SECOND.

Como puedo hacer para recuperar el registro que agrego
cada usuario.

Espero haberme dado a entender

Gracias y Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida