UN GRAN RETO PARA TI A VER SI PUEDES AYUDARME

steven
03 de Octubre del 2004
ABAJO ESTA ESPECIFICADO EL PROBLEMA

import java.sql.*;
import java.awt.*;
import java.applet.*;
import javax.swing.*;

public class Conexionc{

private String database,filename,direccion;//Variables para la conexion
Connection con;
Statement s;

public Conexionc(){
conectar();
}

//Metodo conexion a la BD
public void conectar(){
try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
filename = "C:/Steven/averque/Trivia/Trivia.mdb";//ruta para localizar la BD
database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}";
con = DriverManager.getConnection( database ,"","");
s = con.createStatement();//ResultSet.?
}

catch (Exception e) {
System.out.println("Error: " + e);
}
}

public String obtener_pregunta(String cad){//Insercion (sql)
String n1="";
try {
System.out.println(cad);
s.execute("Select pregunta From "+cad);
ResultSet rs = s.getResultSet();
if(rs!=null){
while ( rs.next()){
HE AQUI EL PROBLEMA NO SE COMO ASIGNARLE A "n1" UN VALOR ALEATORIO DE CUALQUIERA DE LOS REGISTROS DE LA B.D. SIEMPRE ME RETORNA EL ULTIMO REGISTRO DE LA B.D. Y OCUPO QUE ME RETORNE CUALQUIERA DE LOS 10 REGISTROS QUE TENGO EN LA TABLA
n1=rs.getString("pregunta");
}
}
}
catch (Exception e) {
System.out.println("Error: " + e);
}
return n1;
}

maumar
03 de Octubre del 2004
Obteniendo un int random de la clase Math y usuando el método relative(int Row) del Resulset para ubicar el cursor en una fila determinada

mk
03 de Octubre del 2004
Sencillo, vas bien en lo que es la consulta, solo agrega algo asi

boolean stopQuery = true;
Random rand = new Random();
int randomNum = //numero aleatorio <= 10
int actualRecord = 0;
while(rs.next() && stopQuery)
{
if(actualRecord==randomNum)
{
stopQuery = false;
}
String data = rs.next(1);
}


Asi generas un aleatorio menor = de 10 el rs se recorrera hasa que el numero aleatorio sea = al registro actual.

Espero te sirva.