Ver Mensaje Individual
  #1  
Antiguo 02-12-2012
lobosito lobosito is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 13
Reputación: 0
lobosito Va por buen camino
Seleccionar un registro aleatorio en una tabla con un query!!

Primero que nada hola a todos, esta es mi primer consulta y a que no he podido encontrar respuestas en otros hilos.

Me dieron un pequeño trabajo, en el que tengo que hacer un juego del ahorcado con acceso a BD, lo que estoy tratando de hacer es seleccionar un registro de manera aleatoria, mi tabla tiene 2 campos, una para el código (1,2,3,...,n), y otro donde va el término (Caballo, perro, etc.), lo que hice fue lo siguiente:

Código Delphi [-]
  // Encontrar el número de registros de la tabla
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT *');
  Query1.SQL.Add('FROM palabras.db');
  Query1.Active:=True;
  pos:=Query1.RowsAffected;
  Query1.Active:=False;
  // Encontrar un término de manera aleatoria
  Randomize;
  car:=random(pos)+1;
  car:=round(car);
  // Seleccionar el termino para adivinar y asignarlo a "a"
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT termino');
  Query1.SQL.Add('FROM palabras.db');
  Query1.SQL.Add('Where cod='+inttostr(car));
  Query1.Active:=True;
  a:=Query1.FieldValues['termino'];
  Query1.Active:=False;

pero siempre me devuelve el mismo registro el primero, como puedo hacer que realmente seleccione de manera aleatoria uno de mis registros en la tabla...

Agradezco cualquier ayuda, es algo que me tiene sin dormir y mi tiempo de entrega se acaba.
Responder Con Cita