Foros del Web » Programando para Internet » ASP Clásico »

Mostrar ultimo registro de un a bd

Estas en el tema de Mostrar ultimo registro de un a bd en el foro de ASP Clásico en Foros del Web. Alguien sabe Cómo puedo ver solo el último registro de una tabla de una base de datos? Gracias...
  #1 (permalink)  
Antiguo 05/08/2003, 10:18
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 4 meses
Puntos: 4
Mostrar ultimo registro de un a bd

Alguien sabe Cómo puedo ver solo el último registro de una tabla de una base de datos? Gracias
  #2 (permalink)  
Antiguo 05/08/2003, 10:22
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
Una vez que hayas conectado con la base de datos y creado el objeto Recordset al que llamamos en este caso "RS" no tienes más que poner:

RS.Movelast

Con esto ya te has desplazado al último registro de la base de datos y podrás recuperar los valores de los campos como un consulta normal y corriente.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 05/08/2003, 10:27
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 4 meses
Puntos: 4
ok si, pero quiero realizar una consulta basada en el ultimo registro es decir, llamar ese registro desde que establesco el record set. Bueno... para no hacerla mas cansada quiero insertar registros donde el registro de la clave principal sería: el último registro + 1.

Gracias
  #4 (permalink)  
Antiguo 05/08/2003, 10:38
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
... Lo siento pero no entendí nada.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #5 (permalink)  
Antiguo 05/08/2003, 10:41
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 4 meses
Puntos: 4
osea, quiero insertar un nuevo registro a mi base de datos (la clave principal de la tabla esta en formato numérico) y quiero que al registrar la clave principal el valor sea el último registro + 1, osea que si el ultimo registro es 10, este dara como resultado 11.
  #6 (permalink)  
Antiguo 05/08/2003, 10:44
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 3 meses
Puntos: 9
No habría sido mejor declarar el campo como autonumérico... te soluciona solo ese problema...
__________________
Buena Vida...
Francisco
  #7 (permalink)  
Antiguo 05/08/2003, 10:47
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 4 meses
Puntos: 4
Si, pero también me gustaría saber la forma de hacerlo así.
  #8 (permalink)  
Antiguo 06/08/2003, 00:30
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
Pues bien, creo que sin campo autonumerico, la mejor forma es ir primero al último registro como ya te indiqué antes. Recoges en una variable el valor de la clave principal. A este valor le sumas 1 y lo introduces en el nuevo registro. Más o menos así:

Código:
RS.Movelast

contador=RS("clave")+1

RS.AddNew
  RS("clave") = contador
  RS("otrocampo") = loquesea
  ...
RS.Update
Creo que la inclusión de nuevos datos se hacía así. Compruébalo de todas formas.

Por otro lado, puede que el campo de la clave principal, al no ser autonumérico se desordene por lo que sea. Te recomiendo entonces que en la consulta SQL lo ordenes en función del campo "clave" si es que se llama así:

Código:
sql = "SELECT * FROM tabla ORDER BY clave"
Espero que así te funcione.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #9 (permalink)  
Antiguo 06/08/2003, 02:27
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 2 meses
Puntos: 0
Sería mejor obtener directamente el mayor de todos, te ahorras el desplazarte por el recordset hasta el final

SELECT Max(Clave) AS ValorMaximo FROM TuTabla

Ahí tienes el último....

Un saludo
  #10 (permalink)  
Antiguo 06/08/2003, 09:36
Avatar de zeudio  
Fecha de Ingreso: enero-2002
Mensajes: 314
Antigüedad: 22 años, 4 meses
Puntos: 4
use esto pero me marco arror

Cita:
RS.Movelast

contador=RS("clave")+1

RS.AddNew
RS("clave") = contador
RS("otrocampo") = loquesea
...
RS.Update
Ahora , quisiera saver como obtengo el registro con maximo valos usando "MAX(edad)", ya que pongo algo asi : rs("edad") pero me dice que no existe ese dato en la tabla.
  #11 (permalink)  
Antiguo 06/08/2003, 10:39
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
SELECT Max(Edad) AS ElMasViejito FROM TuTabla

Luego...

Rs("ElMasViejito")


Como verás, al obtener una suma, cuenta, máximo, mínimo, etc de un campo se utiliza "AS" ("como")... debés referirte a dicho campo calculado por el nombre definido luego del "AS"
__________________
...___...
  #12 (permalink)  
Antiguo 06/08/2003, 12:27
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 7 meses
Puntos: 4
zeudio es probable que te de error porque estés intentando sumar 1 a un campo de tipo texto. ¿Dice algo así como que no coinciden los datos?

Se solucionaría convirtiendo el campo a formato numérico en la base de datos o simplemente su valor desde ASP:

contador=CSng(RS("clave"))+1

De todas formas creo que la solución de Teri y dazuaga va a ser la más adecuada.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:36.