A VER QUE HACES CON ESTO

steven sanchez
26 de Agosto 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;
}

jamecaes
26 de Agosto del 2004
S lo que necesita es tomar un registro aleatorio, deberia generar un numero aleatorio y en el where mira si el indice del registro generado es igual al numero generado...

int indice=(int)(Math.random()*10);
int i=0;
boolean termino=false;
where(rs.next() && !control)
{
if(indice==i)
{
n1=rs.getString("pregunta");
termino=true;
}
i++;
}

Espero haber sido de ayuda