SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: manu271182 en Viernes 24 de Agosto de 2007, 12:12

Título: Selecion Fila Aleatoria En Una Bbddd
Publicado por: manu271182 en Viernes 24 de Agosto de 2007, 12:12
Hola a todos necesito ejecutar un metodo que selecione una fila aleatoria en una BBDD( del tipo SELECT RANDOM FROM TABLA  WHERE CONDICION)
He probado tood tipo de variantes y ningun me funciona.
Alguien me podria decir cual es la manera exacta de hacerlo?
Gracias
Título: Re: Selecion Fila Aleatoria En Una Bbddd
Publicado por: lencho en Viernes 24 de Agosto de 2007, 15:11
Código: Text
  1.         SELECT TOP 2 descripcion FROM TABLA
  2.   ORDER BY NEWID()
  3.  

Trae 2 registros ramdomicos de la tabla.

NOTA: Especifica en que BD estas trabajando.


BYTE.
Título: Re: Selecion Fila Aleatoria En Una Bbddd
Publicado por: F_Tanori en Viernes 24 de Agosto de 2007, 16:14
Cita de: "lencho"
Código: Text
  1.         SELECT TOP 2 descripcion FROM TABLA
  2.   ORDER BY NEWID()
  3.  

Trae 2 registros ramdomicos de la tabla.


BYTE.
randomicos :P


Cita de: "lencho"
NOTA: Especifica en que BD estas trabajando.

Seria lo ideal  :rolleyes:
Título: Re: Selecion Fila Aleatoria En Una Bbddd
Publicado por: manu271182 en Viernes 24 de Agosto de 2007, 17:23
TRabajo con Access.Me cree una clase random e introduje  un id de fila  a la tabla de la BBDD Access con la que trabajoAunque no sea la manera mas elegante de resolverlo al menos me funciona


 comando.CommandText = "SELECT  COUNT (*) FROM  Clientes";
           int id = (int)comando.ExecuteScalar();
           Random r=new Random ();
           int n = r.Next(id);
           comando.CommandText = "SELECT  * FROM  Clientes WHERE id= @pn";

           OleDbParameter pn = new OleDbParameter("@pusername", System.Data.OleDb.OleDbType.Numeric, 10);
           comando.Parameters.Add(pn);
           pn.Value = n;
Título: Re: Selecion Fila Aleatoria En Una Bbddd
Publicado por: lencho en Sábado 25 de Agosto de 2007, 14:56
weno, nosotros te sugerimos y tu decides.

http://www.petefreitag.com/item/466.cfm (http://www.petefreitag.com/item/466.cfm)

BYTE.