URGENTE TimeStamp

09/06/2004 - 13:45 por Ignacio M. Palau | Informe spam
Hola a todos:

Necesitaría en forma urgente conocer la forma de inicializar el timestamp de
una B.D.
Gracias.-

Ignacio

Preguntas similare

Leer las respuestas

#1 Ignacio M. Palau
09/06/2004 - 16:14 | Informe spam
Te adjunto mi consulta que tambien envié al foro de VB.:

El problema que tengo es que estamos utilizando un timestamp para validar
que un registro no haya sido modificado, desde VB.
Para eso devolvíamos el timestamp convertido a datetime con un
Cast(timestamp as datetime), y lo capturabamos en una variable tipo date en
VB, que luego servía como paràmetro para otro SP que realizaba cierta
validaciòn.
El tema es que el timestamp ha alcanzado valores que para los datetime
generan un overflow.
Por eso la primera soluciòn que se me ocurriò es reiniciar los timestamp.

Ahora creo que voy a tener que tratarlos de otra forma.
¿como se trata una variable timestamp desde VB? Qué tipo de datos debería
usar?
Alguien sabe si puedo definir un parámetro binario, o algo así, para que el
SP verifique si el valor recibido es el mismo que tenía el registro antes de
que el usuario lo modifique desde VB?

Garcias otra vez
Ignacio
"Adrian D. Garcia" escribió en el mensaje
news:%
Cuando definis una columna del tipo timestamp sobre una tabla la
actualizacion de la misma queda a cargo del motor. La misma se actualiza
cuando se realiza el INSERT de la fila o se realiza un UPDATE sobre la


fila
en forma automatica.
El valor de esta columna es un nro. secuencial que administra directamente
el motor y que es el nro. de transaccion que se realizo desde que se


instalo
el motor. Como podes ver, no contiene la fecha y hora de actualizacion


como
el nombre da a suponer.

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Ignacio M. Palau" wrote in message
news:
> Hola a todos:
>
> Necesitaría en forma urgente conocer la forma de inicializar el


timestamp
de
> una B.D.
> Gracias.-
>
> Ignacio
>
>


Respuesta Responder a este mensaje
#2 Ignacio M. Palau
09/06/2004 - 16:54 | Informe spam
Muchas gracias Adrian !!!!
Respecto al parámetro que se enviaría al SP que realiza el update, cómo
podría definirlo para que reciba el valor y lo compare contra el campo
timestamp?

Gracias otra vez.

Ignacio.-


"Adrian D. Garcia" escribió en el mensaje
news:eITnN$
El problema radica que una columna "timestamp" es en realidad un vector de


8
bytes.
Por lo cual tendrias que recibir el valor en un vector declarado asi:

Dim ts as byte(7)

Y luego lo que deberias hacer en el UPDATE de la fila agregarle una


clausula
WHERE en donde ademas de definir una clave primaria tambien verificas que


el
timestamp sea igual al que obtuviste en el momento de leer la fila.
Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Ignacio M. Palau" wrote in message
news:
> Te adjunto mi consulta que tambien envié al foro de VB.:
>
> El problema que tengo es que estamos utilizando un timestamp para


validar
> que un registro no haya sido modificado, desde VB.
> Para eso devolvíamos el timestamp convertido a datetime con un
> Cast(timestamp as datetime), y lo capturabamos en una variable tipo date
en
> VB, que luego servía como paràmetro para otro SP que realizaba cierta
> validaciòn.
> El tema es que el timestamp ha alcanzado valores que para los datetime
> generan un overflow.
> Por eso la primera soluciòn que se me ocurriò es reiniciar los


timestamp.
>
> Ahora creo que voy a tener que tratarlos de otra forma.
> ¿como se trata una variable timestamp desde VB? Qué tipo de datos


debería
> usar?
> Alguien sabe si puedo definir un parámetro binario, o algo así, para que
el
> SP verifique si el valor recibido es el mismo que tenía el registro


antes
de
> que el usuario lo modifique desde VB?
>
> Garcias otra vez
> Ignacio
> "Adrian D. Garcia" escribió en el


mensaje
> news:%
> > Cuando definis una columna del tipo timestamp sobre una tabla la
> > actualizacion de la misma queda a cargo del motor. La misma se


actualiza
> > cuando se realiza el INSERT de la fila o se realiza un UPDATE sobre la
> fila
> > en forma automatica.
> > El valor de esta columna es un nro. secuencial que administra
directamente
> > el motor y que es el nro. de transaccion que se realizo desde que se
> instalo
> > el motor. Como podes ver, no contiene la fecha y hora de actualizacion
> como
> > el nombre da a suponer.
> >
> > Saludos
> > Adrian D. Garcia
> > MCSD
> > NDSoft Consultoria y Desarrollo
> >
> > "Ignacio M. Palau" wrote in message
> > news:
> > > Hola a todos:
> > >
> > > Necesitaría en forma urgente conocer la forma de inicializar el
> timestamp
> > de
> > > una B.D.
> > > Gracias.-
> > >
> > > Ignacio
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#3 Adrian D. Garcia
09/06/2004 - 19:11 | Informe spam
Cuando definis una columna del tipo timestamp sobre una tabla la
actualizacion de la misma queda a cargo del motor. La misma se actualiza
cuando se realiza el INSERT de la fila o se realiza un UPDATE sobre la fila
en forma automatica.
El valor de esta columna es un nro. secuencial que administra directamente
el motor y que es el nro. de transaccion que se realizo desde que se instalo
el motor. Como podes ver, no contiene la fecha y hora de actualizacion como
el nombre da a suponer.

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Ignacio M. Palau" wrote in message
news:
Hola a todos:

Necesitaría en forma urgente conocer la forma de inicializar el timestamp


de
una B.D.
Gracias.-

Ignacio


Respuesta Responder a este mensaje
#4 Adrian D. Garcia
09/06/2004 - 20:41 | Informe spam
El problema radica que una columna "timestamp" es en realidad un vector de 8
bytes.
Por lo cual tendrias que recibir el valor en un vector declarado asi:

Dim ts as byte(7)

Y luego lo que deberias hacer en el UPDATE de la fila agregarle una clausula
WHERE en donde ademas de definir una clave primaria tambien verificas que el
timestamp sea igual al que obtuviste en el momento de leer la fila.
Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Ignacio M. Palau" wrote in message
news:
Te adjunto mi consulta que tambien envié al foro de VB.:

El problema que tengo es que estamos utilizando un timestamp para validar
que un registro no haya sido modificado, desde VB.
Para eso devolvíamos el timestamp convertido a datetime con un
Cast(timestamp as datetime), y lo capturabamos en una variable tipo date


en
VB, que luego servía como paràmetro para otro SP que realizaba cierta
validaciòn.
El tema es que el timestamp ha alcanzado valores que para los datetime
generan un overflow.
Por eso la primera soluciòn que se me ocurriò es reiniciar los timestamp.

Ahora creo que voy a tener que tratarlos de otra forma.
¿como se trata una variable timestamp desde VB? Qué tipo de datos debería
usar?
Alguien sabe si puedo definir un parámetro binario, o algo así, para que


el
SP verifique si el valor recibido es el mismo que tenía el registro antes


de
que el usuario lo modifique desde VB?

Garcias otra vez
Ignacio
"Adrian D. Garcia" escribió en el mensaje
news:%
> Cuando definis una columna del tipo timestamp sobre una tabla la
> actualizacion de la misma queda a cargo del motor. La misma se actualiza
> cuando se realiza el INSERT de la fila o se realiza un UPDATE sobre la
fila
> en forma automatica.
> El valor de esta columna es un nro. secuencial que administra


directamente
> el motor y que es el nro. de transaccion que se realizo desde que se
instalo
> el motor. Como podes ver, no contiene la fecha y hora de actualizacion
como
> el nombre da a suponer.
>
> Saludos
> Adrian D. Garcia
> MCSD
> NDSoft Consultoria y Desarrollo
>
> "Ignacio M. Palau" wrote in message
> news:
> > Hola a todos:
> >
> > Necesitaría en forma urgente conocer la forma de inicializar el
timestamp
> de
> > una B.D.
> > Gracias.-
> >
> > Ignacio
> >
> >
>
>


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