A VER SI PUEDEN CON ESTO

steven
26 de Agosto del 2004


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 {
NO SE COMO PUEDO OBTENER DE LA BASE DE DATOS UN REGISTRO EN FORMA ALEATORIA, HICE LO SIGUIENTE
int ran;
ran = 1 + (int) ( Math.random() * 10 );
CAD ES UNA VARIABLE QUE PASA POR PARAMETRO Y TIENE EL NOMBRE DE LAS TABLAS DE LA B.D
s.execute("Select pregunta From "+cad);
SELECCIONA LA PREGUNTA DE LA B.D
ResultSet rs = s.getResultSet();
while ( rs.next() ){
while (rs.next()){
HE AQUI EL PROBLEMA
n1=rs.getString(1);
YO PONGO "n1=rs.getString(RAN);" PERO NO FUNCION COMO HAGO PARA QUE ME OBTENGA UN REGISTRO EN FORMA ALEATORIA DE LA B.D
}
}
catch (Exception e) {
System.out.println("Error: " + e);
}
return n1;
}

public void cerrar(){
try {
s.close(); // close the Statement to let the database know we're done with it
con.close();
}
catch (Exception e) {
System.out.println("Error: " + e);
}
}
}