ir a la posicion de un registro específico
Hola a Todos...
Estoy realizando una aplicación que me permite elegir los ganadores para un concurso. Los ganadores se sortean de acuerdo a las personas que han comprados abonos. Los datos los tengo almacenados en una tabla de SQL Server. Para realizar la elección del numero, lo que realizo primero es obtener la cantidad de abonos vendidos, para lo cual realizo un
Luego aplico un Ramdon al valor anterior, lo que me dará el Numero (posición) del Ganador.
Mi consulta es como me posiciciono en el Registro que fue Sorteado ??? Se que el RecNo me entrega la posición, pero como me posiciono en el registro del valor que me entrega el Ramdon??? Salu2:p:D |
Cita:
RecNo?, Es una función? en que versión de SQlServer está? |
Hola Poliburro...
Estoy en SQLServer 2000 si realizo
me entregará la posición del registro en la cual me ubico.... pero lo que tengo como dato, es la posición... entonces lo que quiero realizar es alguna función que se posicione en la "posición", valga la redundancia, que le estoy entregando... Sorry... pero lo estoy trabajando desde el Delphi 7..... a lo mejor eso te confundio,, y pensastes que RecNo es una función del SQL Server... Salu2:p:D |
|
Gracias amigo poliburro
cada vez me impresionas más.....:eek::eek: ahora, donde agrego esto.. y como lo utilizo desde delphi ???:confused::confused: Al final los datos los estoy trabajando desde un Vista, en donde tienen todos los datos que necesitaba Salu2:p:D |
Me explico,
Este procedimiento crea una tabla temporal con una columna identity que simula el RecNo de ADO y el RowNum de Oracle. En esta tablatemporal vas a insertar el campo id de la tabla de donde deseas sacar el registro en la posición deseada. A este procedimiento le pasas que número de registro que deseas y te devolverá el Id correspondiente a esa posición. con el id puedes obtener toda la fila. Espero haber comprendido tu problema, si no, con confianza pregunta |
Bueno...
te cuento, con lo que me distes, al final realice un procedimiento para crear la tabla y trabajar sobre ella... así que despues solo utilizo el locate para ubicar la posición... gracias por tu ayuda... me sirvio bastante... Salu2:p:D |
No se si con ADO es igual que con otros conectores, pero si le asignas un valor a RecNo, el cursor se para en dicha posición...
Por ejemplo
Y listo, pero bueno, de ahí a la eficiencia de esto, pues no creo que sea mejor que traer el dato de una vez, como lo ha planteado poliburro. |
Cita:
bueno, antes de preguntar habia probado eso pero con un ADOQuery.. pero no me funciono.... :eek::confused: Salu2:p:D |
Hola BlueSteel, yo he utilizado RecNo con Ado y si me ha funcionado.
Saluditos |
Cita:
Tiene que ver con la manera en que defines la propiedad cursor. Aunque a mi, como lo has notado me gusta cargarle la mano al motor, que él se encargue de procesar los datos que para eso fué hecho. Y delphi para proporcionarle al usuario la manera de interactuar con esa información. Ojo, es cuestión de enfoques. Al principio yo era como todos, programando todo en delphi, pero tras los jalones de orejas que me dieron varios Maestros DBAs y arquitectos de BI, aprendí a explotar el poder de las bases de datos. Saludos |
Cita:
|
La franja horaria es GMT +2. Ahora son las 15:54:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi