Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2002, 06:54
igdepaz
 
Fecha de Ingreso: marzo-2002
Mensajes: 15
Antigüedad: 23 años, 2 meses
Puntos: 0
sacar registros de bd

Hola me gustaria saber como puedo sacar los registros de la base de datos aleatoriamente. Tengo el codigo para crear numeros aleatorios y mover el Recordset por ellos pero no se donde tengo que poner exactamente estas lineas de codigo ya que el cuerpo del programa tiene 2 bucles anidados y no he sido capaz de ponerlas en su sitio para que me funcione correctamente.
Me gustaria que me dijeseis como he ponerlas para que funcione bien.
Muchas gracias por vuestro interes.



<!-- #include file="adovbs.inc" -->
<%
dim Conn, Rs,SQL, Rs2
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "dsn=prueba"
set Rs=Server.CreateObject("ADODB.Recordset" )'Este recordset sera para la Tabla Preguntas
SQL="Select * From Preguntas"
Rs.Open SQL, Conn

Dim rndMax 'Creo la variable que contendra el limite superior
rndMax=CInt(Rs.RecordCount) 'Al limite superior le asigno el valor del total de los registros que hay en Preguntas
Rs.MoveFirst 'Nos colocamos en el primer registro
Dim rndNumber 'Creo una variable para el numero aleatorio que estará entre el liminf y el limsup
rndNumber=Int((rndMax - 1) * rnd + 1) 'Al numero aleatorio le asigno el valor: (limsup-liminferior +1)* rnd +liminferior
Rs.Move rndNumber ‘Nos movemos al registro que indica el numero aleatorio

%>
<html>
<TITLE> Formulario</TITLE>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<body>
<form method="POST" action="ResultadosForm.asp" name="formExam">
<% Do while Not Rs.Eof
'seleccionamos la pregunta
Response.Write Rs("preguntas")'Escribo la pregunta 1%>
<%
set Rs2=Server.CreateObject("ADODB.Recordset&quot ;) 'Este recordset es para las respuestas
SQL="SELECT * FROM Respuestas WHERE idq=" & Rs("idq")
Rs2.Open SQL, Conn
'mostramos las diferentes respuestas por idq
Do While Not Rs2.Eof %>
<p>
<% num=Rs("idq")& Rs2("idr")%>
<input type="radio" value="<%=num%>"
name="Pregunta<%=Rs("idq")%>& quot;>
<%=Rs2("respuestas")%>
</p>
<%
Rs2.MoveNext
Loop 'del segundo while
Rs2.Close
set rs2 = nothing
%>
<%
Rs.MoveNext
Loop 'del primer while
'descargamos los objetos y cerramos la bd
Rs.Close
SET rs = nothing
Conn.Close
%>